1、无配置文件注解版
(1)@MapperScan(“com.echodemo.girl.mapper”)这里是包名。
(2)注意到以下两个SQL语句,insert当中没有user.username是因为当它只有一个对象作为参数传递时本身进行了处理,而update当中,有两个参数传递进来,此时需要@Param的协助,并且需要以user.username的形式把值传给SQL语句当中。而单个的id则直接传递。
@Insert("INSERT INTO tb_user(username, age, ctm) VALUES(#{username}, #{age}, now())")
int add(User user);
@Update("UPDATE tb_user SET username = #{user.username}, age = #{user.age} WHERE id = #{id}")
int update(@Param("id") Integer id, @Param("user") User user);
2、配置文件注解版
(1)在userMapper.xml文件当中,resultMap部分,里面的jdbcType类型都需要大写,当时INTEGER只有首字母大写了,然后找bug找了好久。
(2)在UserMapper当中要加上@Repository注解,不然在UserServiceImpl.java文件中会提示bean不存在。