注解的作用就是为了替代 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)

标签: mybatis

评论已关闭