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 mybatis-starter原理

Spring Boot:Spring Boot整合Mybatis案例

Spring Boot 实用MyBatis做数据库操作

Spring boot 入门三:spring boot 整合mybatis 实现CRUD操作

Spring Boot集成Mybatis及通用Mapper

spring boot 与 Mybatis整合(*)