在使用xml进行开发时,我们在映射配置文件中使用resultMap标签解决了实体类属性和数据表列名不一致的问题,使用注解开发时,我们可以使用注解来解决这个问题:

1.Result和Results注解

@Select("select * from user")
@Results(id="userMap", value={
        @Result(id=true, column = "id", property = "userId"),
        @Result(column = "username", property = "userName"),
        @Result(column = "address", property = "userAddress"),
        @Result(column = "sex", property = "userSex"),
        @Result(column = "birthday", property = "userBirthday"),
})
List<User> findAll();

##2.ResultMap

上面仅仅解决了一个查询函数的问题,但是其他的函数依然存在对应不一致的问题,不过我们在Results标签中使用id属性指定了该Map的唯一标志,因此在其他函数上,使用ResultMap标签就可以引用了。

@Select("select * from user where id = #{id}")
@ResultMap(value = {"userMap"})
User findById(Integer id);