【本篇博客,有配套视频,视频地址:《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"着重于利用Spring Boot和MyBatis注解实现多数据源连接,这在处理多个数据库或者分库分表的场景中非常实用。 首先,Spring Boot提供了自动配置功能,使得我们...
### Spring Boot 如何使用 Mybatis #### 一、前言 在现代的Java Web开发领域,Spring Boot以其简洁高效的特性迅速占领了一席之地。而MyBatis作为一款优秀的持久层框架,也被广泛应用于各种项目中。为了更好地整合...
在本项目中,我们主要探讨如何使用Spring Boot框架与MyBatis持久层框架结合MySQL数据库来构建一个完整的用户登录功能。下面将详细讲解这个过程中的关键知识点。 首先,`Spring Boot`是一个基于Java的框架,它简化了...
在本教程中,我们将深入探讨如何在Spring Boot项目中整合Mybatis-Plus并实现增删改查(CRUD)操作,同时对返回结果进行封装,使用`ServerResult`类。`Spring Boot`是一个轻量级的Java框架,它极大地简化了微服务的...
MyBatis注解简化了传统的XML配置,可以在Mapper接口和实现类中直接定义SQL语句。主要的注解有: 1. `@Select`:用于查询操作,可以包含一个SQL查询语句。 2. `@Insert`:插入数据,可以包含一个INSERT语句,支持...
MyBatis可以轻松地与Spring、Spring Boot、Quartz等框架集成,实现更强大的企业级应用。 综上所述,MyBatis 3.5.1是一个强大且灵活的持久层框架,它提供了一系列工具和特性,使数据库操作变得更加简单和高效。通过...
Spring Boot MyBatis 全注解化详解 Spring Boot MyBatis 全注解化是指使用 Spring Boot 框架和 MyBatis 持久层框架实现数据访问层的所有配置都是通过注解方式实现的。这种方式可以简化配置,提高开发效率和代码...
Spring Boot 2 基于 MyBatis 实现多表关联查询 Spring Boot 2 是目前非常流行的 Java 框架,它提供了许多强大的功能,例如自动配置、 starters 机制等。MyBatis 是一个流行的持久层框架,提供了强大的数据库交互...
**SpringBoot集成MyBatis-Plus详解** SpringBoot作为一个轻量级的框架,极大地简化了Java Web应用的开发过程。而MyBatis-Plus则是在MyBatis的基础上进行了扩展,提供了更加便捷的数据操作功能。本文将详细介绍如何...
7. **Mybatis注解**:除了XML映射,Mybatis还支持使用注解进行对象关系映射,比如`@Select`, `@Insert`, `@Update`, `@Delete`等,简化了配置文件的编写。 8. **Mybatis的插件机制**:Mybatis 提供了插件扩展功能,...
在Spring Boot项目中整合Mybatis并利用注解进行数据库操作,可以极大地简化开发流程,提高效率。本文主要讲解如何使用注解实现动态SQL和参数传递等常见功能。 首先,Spring Boot与Mybatis的整合通常通过添加相关...
本篇文章将深入探讨如何在Spring Boot项目中实现MyBatis的一对一(1:1)查询。一对一查询通常用于处理两个实体之间存在一对一关系的情况,比如一个用户对应一个唯一的地址信息。 首先,我们需要理解一对一关系的...
创建一个接口,如`UserMapper.java`,并使用MyBatis注解定义方法。 ```java public interface UserMapper { @Select("SELECT * FROM user WHERE id = #{id}") User getUserById(Long id); @Insert("INSERT ...
本教程将探讨如何通过自定义注解以及Spring Boot AOP(面向切面编程)来实现数据源之间的自动切换,同时整合Druid监控和MyBatis-Plus作为持久层框架。 首先,我们了解核心概念: 1. **多数据源**:在大型系统中,...
然而,随着微服务和Spring Boot的兴起,单一的SSM架构逐渐被Spring Boot的全栈式开发所替代,因为Spring Boot提供了更简便的配置和启动方式,减少了大量配置文件的编写,使得开发变得更加迅速和便捷。尽管如此,理解...
此外,还包括了Spring Boot Web Starter、MyBatis、MySQL数据库驱动以及MyBatis Plus等依赖。 ##### 4. 配置Ehcache 在Spring Boot项目中,可以通过配置文件(如`application.yml`或`application.properties`)来...
Struts2、Spring和Mybatis是Java开发领域中非常经典的三大框架,它们组合起来形成了SSM(Struts2、Spring、Mybatis)架构,被广泛应用于企业级Web应用的开发中。下面将分别对这三个框架进行详细介绍。 Struts2:...
在本文中,我们将深入探讨如何使用Spring Boot、MyBatis和Oracle数据库来构建一个实际的应用程序。我们将逐步介绍实现过程,包括配置、接口定义、服务层实现、DAO层操作以及XML映射文件的编写。 首先,Spring Boot...
在本文中,我们将深入探讨如何在Spring Boot项目中利用AOP(面向切面编程)来实现操作日志记录。AOP是一种编程范式,它允许程序员定义“切面”,这些切面可以在程序运行时被自动应用到多个点上,比如方法调用之前、...