@Results和@ResultMap有什么区别

来源:3-1 分类管理底层

cj啦啦啦啦

2020-02-12 14:29:30

@Results和@ResultMap有什么区别

写回答

1回答

好帮手慕小班

2020-02-12

同学你好,1、@Results注解的意思就是 把数据库的字段名和具体的实体类的名字对应起来,并且@Results注解必须与@Select查询同方法在一起,不可以单独定义@Results注解,会不被识别的。

http://img.mukewang.com/climg/5e43b7450980690510300281.jpg

    2、MyBatis在使用XML配置时,可以通过<resultMap>标签组定义结果映射集,在注解中,@ResultMap中只有一个属性value,用于指定要引用的@Results,value值为@Results的id值。

	@Select({"select id,user_name,user_password,user_email,user_info,head_img,create_time from sys_user where id = #{id}"})
	@Results(id="userMap", value={
			@Result(column="id", property="id", id=true),
		    @Result(column="user_name", property="userName"),
		    @Result(column="user_password ", property="userPassword"),
		    @Result(column="user_email", property="userEmail"),
		    @Result(column="user_info", property="userInfo"),
		    @Result(column="head_img", property="headImg", jdbcType=JdbcType.BLOB),
		    @Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP)
	})
	SysUser selectUserByUserId(Long id);
	
	@Select({"select * from sys_user"})
	@ResultMap("userMap")
	List<SysUser> selectUsers();

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

0

0 学习 · 8016 问题

查看课程