`

141. Spring Boot MyBatis升级篇-注解-@Result

阅读更多

 

 

【本篇博客,有配套视频,视频地址:《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 *from Demo where id=#{id}")
    @Results({
       @Result(property="updateTime",column="update_time")
    })
public Demo selectById2(int id);

 

 

 

3)场景3:在上面的基础上,性别是枚举类型

       有性别枚举类:

public enum SexEnum {
    MAN, WOMAN
}

 

       相应的实体类:

private int 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 UPDATE CURRENT_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负责删除

 

à悟空学院:https://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!

SpringBoot视频:http://t.cn/A6ZagYTi

Spring Cloud视频:http://t.cn/A6ZagxSR

SpringBoot Shiro视频:http://t.cn/A6Zag7IV

SpringBoot交流平台:https://t.cn/R3QDhU0

SpringData和JPA视频:http://t.cn/A6Zad1OH

SpringSecurity5.0视频:http://t.cn/A6ZadMBe

Sharding-JDBC分库分表实战http://t.cn/A6ZarrqS

分布式事务解决方案「手写代码」:http://t.cn/A6ZaBnIr 

分享到:
评论

相关推荐

    spring-boot-mybatis-annotation-mulidatasource.zip_REVL_TSPS_myba

    本项目"spring-boot-mybatis-annotation-mulidatasource"着重于利用Spring Boot和MyBatis注解实现多数据源连接,这在处理多个数据库或者分库分表的场景中非常实用。 首先,Spring Boot提供了自动配置功能,使得我们...

    Spring Boot 如何使用 Mybatis.docx

    ### Spring Boot 如何使用 Mybatis #### 一、前言 在现代的Java Web开发领域,Spring Boot以其简洁高效的特性迅速占领了一席之地。而MyBatis作为一款优秀的持久层框架,也被广泛应用于各种项目中。为了更好地整合...

    (Spring Boot + MyBatis + MySQL)整合实现登录功能,内附SQL文件

    在本项目中,我们主要探讨如何使用Spring Boot框架与MyBatis持久层框架结合MySQL数据库来构建一个完整的用户登录功能。下面将详细讲解这个过程中的关键知识点。 首先,`Spring Boot`是一个基于Java的框架,它简化了...

    springboot专栏 005 springboot整合mybatis-plus 增删改查 封装(ServerResult)

    在本教程中,我们将深入探讨如何在Spring Boot项目中整合Mybatis-Plus并实现增删改查(CRUD)操作,同时对返回结果进行封装,使用`ServerResult`类。`Spring Boot`是一个轻量级的Java框架,它极大地简化了微服务的...

    spring mvc mybatis 注解版

    MyBatis注解简化了传统的XML配置,可以在Mapper接口和实现类中直接定义SQL语句。主要的注解有: 1. `@Select`:用于查询操作,可以包含一个SQL查询语句。 2. `@Insert`:插入数据,可以包含一个INSERT语句,支持...

    mybatis-3-mybatis-3.5.1

    MyBatis可以轻松地与Spring、Spring Boot、Quartz等框架集成,实现更强大的企业级应用。 综上所述,MyBatis 3.5.1是一个强大且灵活的持久层框架,它提供了一系列工具和特性,使数据库操作变得更加简单和高效。通过...

    详解spring boot mybatis全注解化

    Spring Boot MyBatis 全注解化详解 Spring Boot MyBatis 全注解化是指使用 Spring Boot 框架和 MyBatis 持久层框架实现数据访问层的所有配置都是通过注解方式实现的。这种方式可以简化配置,提高开发效率和代码...

    Spring boot2基于Mybatis实现多表关联查询

    Spring Boot 2 基于 MyBatis 实现多表关联查询 Spring Boot 2 是目前非常流行的 Java 框架,它提供了许多强大的功能,例如自动配置、 starters 机制等。MyBatis 是一个流行的持久层框架,提供了强大的数据库交互...

    SpringBoot集成MyBatis-Plus

    **SpringBoot集成MyBatis-Plus详解** SpringBoot作为一个轻量级的框架,极大地简化了Java Web应用的开发过程。而MyBatis-Plus则是在MyBatis的基础上进行了扩展,提供了更加便捷的数据操作功能。本文将详细介绍如何...

    狂神说Mybatis.zip

    7. **Mybatis注解**:除了XML映射,Mybatis还支持使用注解进行对象关系映射,比如`@Select`, `@Insert`, `@Update`, `@Delete`等,简化了配置文件的编写。 8. **Mybatis的插件机制**:Mybatis 提供了插件扩展功能,...

    Spring Boot整合mybatis使用注解实现动态Sql、参数传递等常用操作(实现方法)

    在Spring Boot项目中整合Mybatis并利用注解进行数据库操作,可以极大地简化开发流程,提高效率。本文主要讲解如何使用注解实现动态SQL和参数传递等常见功能。 首先,Spring Boot与Mybatis的整合通常通过添加相关...

    Spring Boot开发之Mybatis1对1查询

    本篇文章将深入探讨如何在Spring Boot项目中实现MyBatis的一对一(1:1)查询。一对一查询通常用于处理两个实体之间存在一对一关系的情况,比如一个用户对应一个唯一的地址信息。 首先,我们需要理解一对一关系的...

    springboot+mybatis项目详细版

    创建一个接口,如`UserMapper.java`,并使用MyBatis注解定义方法。 ```java public interface UserMapper { @Select("SELECT * FROM user WHERE id = #{id}") User getUserById(Long id); @Insert("INSERT ...

    spring-boot自定注解,实现多个数据源之间的自动切换

    本教程将探讨如何通过自定义注解以及Spring Boot AOP(面向切面编程)来实现数据源之间的自动切换,同时整合Druid监控和MyBatis-Plus作为持久层框架。 首先,我们了解核心概念: 1. **多数据源**:在大型系统中,...

    Struts2+spring+Mybatis

    然而,随着微服务和Spring Boot的兴起,单一的SSM架构逐渐被Spring Boot的全栈式开发所替代,因为Spring Boot提供了更简便的配置和启动方式,减少了大量配置文件的编写,使得开发变得更加迅速和便捷。尽管如此,理解...

    SpringBoot 集成Ehcache实现缓存

    此外,还包括了Spring Boot Web Starter、MyBatis、MySQL数据库驱动以及MyBatis Plus等依赖。 ##### 4. 配置Ehcache 在Spring Boot项目中,可以通过配置文件(如`application.yml`或`application.properties`)来...

    struts2,spring,mybatis学习

    Struts2、Spring和Mybatis是Java开发领域中非常经典的三大框架,它们组合起来形成了SSM(Struts2、Spring、Mybatis)架构,被广泛应用于企业级Web应用的开发中。下面将分别对这三个框架进行详细介绍。 Struts2:...

    Spring boot + mybatis + orcale实现步骤实例代码讲解

    在本文中,我们将深入探讨如何使用Spring Boot、MyBatis和Oracle数据库来构建一个实际的应用程序。我们将逐步介绍实现过程,包括配置、接口定义、服务层实现、DAO层操作以及XML映射文件的编写。 首先,Spring Boot...

    Spring boot学习(六)Spring boot实现AOP记录操作日志.pdf

    在本文中,我们将深入探讨如何在Spring Boot项目中利用AOP(面向切面编程)来实现操作日志记录。AOP是一种编程范式,它允许程序员定义“切面”,这些切面可以在程序运行时被自动应用到多个点上,比如方法调用之前、...

Global site tag (gtag.js) - Google Analytics