141. Spring Boot MyBatis升级篇-注解-@Result
Posted SpringBoot
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了141. Spring Boot MyBatis升级篇-注解-@Result相关的知识,希望对你有一定的参考价值。
@Result说明:
@Result 修饰返回的结果集,关联实体类属性和数据库字段一一对应,如果实体类属性和数据库属性名保持一致,就不需要这个属性来修饰。这个注解相当于XML配置文件中的<ResultMap>。
场景举例:
(1)场景1:关联实体类属性和数据库字段 一 一对应
这种情况的查询是语句是最简单的:
@Select("select *from Demo where id=#{id}")
public Demo selectById(int id);
(2)场景2:关联实体类属性部分属性和数据库字段不对应
比如Demo实体类:
private int id;
private String name;
private Date updateTime;
数据库表信息:
id int
name varchar
update_time datetime
那么查询语句应该是这样子:
@Select("select *fromDemo where id=#{id}")
@Results({
@Result(property="updateTime",column="update_time")
})
public Demo selectById2(int id);
(3)场景3:在上面的基础上,性别是枚举类型
有性别枚举类:
public enum SexEnum {
MAN, WOMAN
}
相应的实体类:
private long id;
private String name;
private Date updateTime;
private SexEnum sexEnum;
数据库表信息:
CREATE TABLE `demo` (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(100) DEFAULT NULL,
update_time datetime DEFAULT NULL ON UPDATECURRENT_TIMESTAMP,
sex_enum enum('MAN','WOMAN') DEFAULT NULL,
PRIMARY KEY (`id`)
);
查询语句:
@Select("select *from Demo where id=#{id}")
@Results({
@Result(property="updateTime",column="update_time"),
@Result(property="sexEnum",column="sex_enum",javaType=SexEnum.class)
})
public Demo selectById2(int id);
好了对于@Result就介绍到这里,最后对几个常用的注解总结下:
@Select是查询类的注解,所有的查询均使用这个
@Result修饰返回的结果集,关联实体类属性和数据库字段一一对应,如果实体类属性和数据库属性名保持一致,就不需要这个属性来修饰。
@Insert插入数据库使用,直接传入实体类会自动解析属性到对应的值
@Update负责修改,也可以直接传入对象
@delete负责删除
视频+交流平台:
à Spring Boot视频
http://412887952-qq-com.iteye.com/blog/2344171
à Spring Boot交流平台
http://412887952-qq-com.iteye.com/blog/2321532
以上是关于141. Spring Boot MyBatis升级篇-注解-@Result的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot:Spring Boot整合Mybatis案例