MyBatis 注解开发之 @Results @Result @ResultMap
注解的作用就是为了替代 xml 配置文件,简化开发。所以,为了更好的理解这三个注解,先贴上一段配置文件代码,方便对比记忆。
// mapper.xml
<resultMap id="userMap" type="com.wlmqtc.com.pojo.User">
<id property="userId" column="id" />
<result property="userName" column="name" />
</resultMap>
@Results 注解
作用: 对查询结果进行映射,相当于 xml 配置文件中的 <resultMap id="" type=""> 标签, 解决实体类中属性名与数据库中表字段名不一致的问题。
@Result 注解
作用: 配置映射关系,替代 <resultMap> 的子元素 <id> 与 <result>
@ResultMap 注解
作用: 引用 @Results 定义的封装, 可以避免多次定义重复的 @Results 封装
MyBatis注解的参考代码:
// UserDao.java
@Select("Select * from user")
@Results(id="userMap", value={
@Result(id = true, column = "id", property = "userId"),
@Result(column = "userName", property = "name"),
})
List<User> findAll();
@Select("select * from user where id = #{id}")
@ResultMap("userMap")
User findById(int userId)
评论已关闭