发表于: 2020-06-01 22:09:57

1 1456


今天完成的事情:

1. 修改数据库,增加了图片表

2. 写了一部分的 service 及其测试类

链接附在日报下面,因为功能没写完还没有合并到主分支,点开其他分支就可以看到。


遇到的问题:

1. 版本兼容性

SpringMVC 最麻烦的就是配置,写代码就是一把梭,随写随测根本没什么大问题。配置我也不知道怎么去测,直到写个 service 跑通了才放心,今天又让这个配置折腾了好久。

最大的问题就是依赖的兼容性,这个东西也没个表,跑通了就是兼容,跑不通那个报错反正也不会提到什么兼容的问题,你自己折腾去吧,就很迷。

项目使用 spring 5.2.5,依次遇到了 mybatis 版本低不兼容,junit 不兼容

最后使用的依赖及其版本如下:

mybatis 3.5.4(原不兼容的版本是3.2.1)

junit 4.12(不兼容的版本是4.11)


2. mapper.xml 文件读取不到

原来的项目  mapper.xml 文件我都是放在 resources 文件夹中,resources 配置文件没有的话影响立竿见影(里面还有 spring 的配置文件),马上就能修正,但是这次我把 mapper.xml mapper.java 放在同一个文件夹,花了点时间才想到这个问题···

解决方法:修改 pom.xml 文件,在 build 标签下添加以下内容

<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>

这样的话编译之前 xml 放在那里,编译之后就会复制到相同的路径。


明天的计划:

1. 梭完 service 并且测试


收获:

1. mybatis @Param 注解

Dao 层的入参注解 @Param

不使用 @Param 注解:

参数必须是 javaBeanmapper.xml 里只能引用 JavaBean 的属性)

参数只有一个 > 引用参数的形式有且仅有:#{userid} (参数名任意写)

参数有多个的 >   xml 中引用有两种形式:

                           amybatis 配置为 <setting name="useActualParamName" value="false" />

                                #{0} #{1} #{2}```` 或者  #{param1} #{param2}```

                                   bmybatis 配置为 <setting name="useActualParamName" value="false" />

                                          #{arg0} #{arg1} ``` 或者 #{param1} #{param2} ```

 

使用 @Param 注解:

参数有多个的时候可以取别名 @param("userid") int id,这样在 xml 中就可以使用 #{userid}

引用参数的形式:#{userid} / ${userid}

 

@Param 注解适用场景:

  1. 参数需要取别名 ,这样在 xml 里看起来更直观

User getUserByUsername(@Param("name") String username);


今天的我也很菜


返回列表 返回列表
评论

    分享到