首页 > 其他分享 >MyBatis查询结果resultType返回值类型详细介绍

MyBatis查询结果resultType返回值类型详细介绍

时间:2022-11-08 10:26:12浏览次数:79  
标签:Map 封装 查询 resultType MyBatis 返回值 数据 id select

一、返回一般数据类型 比如要根据 id 属性获得数据库中的某个字段值。   mapper 接口:       // 根据 id 获得数据库中的 username 字段的值     String getEmpNameById(Integer id);   SQL 映射文件:       <!--         指定 resultType 返回值类型时 String 类型的,         string 在这里是一个别名,代表的是 java.lang.String           对于引用数据类型,都是将大写字母转小写,比如 HashMap 对应的别名是 'hashmap'         基本数据类型考虑到重复的问题,会在其前面加上 '_',比如 byte 对应的别名是 '_byte'     -->     <select id="getEmpNameById" resultType="string">         select username from t_employee where id = #{id}     </select>   二、返回 JavaBean 类型 比如根据某个字段获得数据库中的信息,把查询的结果信息封装成某个 JavaBean 类型的数据。   mapper 接口:       // 根据 id 查询信息,并把信息封装成 Employee 对象     Employee getEmpById(Integer id);   SQL 映射文件:       <!--         通过 resultType 指定查询的结果是 Employee 类型的数据           只需要指定 resultType 的类型,MyBatis 会自动将查询的结果映射成 JavaBean 中的属性     -->     <select id="getEmpById" resultType="employee">         select * from t_employee where id = #{id}     </select>   三、返回List类型 有时候我们要查询的数据不止一条,比如:模糊查询,全表查询等,这时候返回的数据可能不止是一条数据,对于多数据的处理可以存放在List集合中。   mapper 接口:       // 假如是全表查询数据,将查询的数据封装成 Employee 类型的集合     List<Employee> getAllEmps();   SQL 映射文件:       <!--         注意这里的 resultType 返回值类型是集合内存储数据的类型,不是 'list'     -->     <select id="getAllEmps" resultType="employee">         select * from t_employee     </select>   四、返回Map类型 MyBatis 还支持将查询的数据封装成Map。   1. 如果查询的结果是一条,我们可以把查询的数据以{表字段名, 对应的值}方式存入到Map中。   mapper 接口:       //  根据 id 查询信息,并把结果信息封装成 Map     Map<String, Object> getEmpAsMapById(Integer id);   SQL 映射文件:       <!--         注意这里的 resultType 返回值类型是 'map'      -->     <select id="getEmpAsMapById" resultType="map">         select * from t_employee where id = #{id}     </select>   下面把查询的结果数据贴出来供大家参考:   2. 如果查询的结果是多条数据,我们也可以把查询的数据以{表中某一字段名, JavaBean}方式来封装成Map。   mapper 接口:       // 查询所有员工的信息,把数据库中的 'id' 字段作为 key,对应的 value 封装成 Employee 对象     // @MapKey 中的值表示用数据库中的哪个字段名作 key     @MapKey("id")     Map<Integer, Employee> getAllEmpsAsMap();   SQL 映射文件:       <!--         注意 resultType 返回值类型,不再是 'map',而是 Map 的 value 对应的 JavaBean 类型     -->     <select id="getAllEmpsAsMap" resultType="employee">         select * from t_employee     </select>   下面是查询的结果 (只截取了一部分):     MyBatis 允许查询的结果封装成Map,这种机制是极好的。   五、扩展 扩展. 上面返回结果的形式都是基于查询 (select) 的,其实对于增删改的操作也可以返回一定类型的数据,比如Boolean,Integer等。   总结. 这篇博文主要介绍了在开发中常用的几种数据返回值类型,希望能够为你提供帮助。 ———————————————— 版权声明:本文为CSDN博主「留兰香丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/codejas/article/details/79520246

标签:Map,封装,查询,resultType,MyBatis,返回值,数据,id,select
From: https://www.cnblogs.com/LLW521/p/16868736.html

相关文章

  • MybatisPlus Lambda表达式 聚合查询 分组查询 COUNT SUM AVG MIN MAX GroupBy
    一、序言众所周知,MybatisPlus在处理单表DAO操作时非常的方便。在处理多表连接连接查询也有优雅的解决方案。今天分享MybatisPlus基于Lambda表达式优雅实现聚合分组查询。......
  • spring+mybatis
    1.导入依赖<dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.2</version></dependency> 2.编写sp......
  • mybatis数据源单一
    1.打包方式jar包1.导入依赖<dependencies><!--Mybatis核心--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.7</v......
  • 报错'pom.xml' has syntax errors和Unresolved dependency: 'org.mybatis:mybatis:jar
     错误:'pom.xml'hassyntaxerrors解决方法:构建SpringBoot项目时报错:'pom.xml'hassyntaxerrors大概率是pom.xml中出现了语法错误 <dependency>和</dependency>要......
  • mybatis入门
    入门要使用MyBatis,只需将 mybatis-x.x.x.jar 文件置于类路径(classpath)中即可。如果使用Maven来构建项目,则需将下面的依赖代码置于pom.xml文件中:<dependency>......
  • mybatis注解开发无法查询中文(这个bug卡了我两周了)
    泪目了,两周了,终于解决了Mapper里面的SQL注解语句  Postman发送请求  查询不到数据,  控制台里面语句正确的,参数是正确的,没有乱码,我把语句从控制台复制到co......
  • Java开发学习(四十)----MyBatisPlus入门案例与简介
    一、入门案例MybatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提供效率。SpringBoot它能快速构建Spring开发环境用以整合其他技术,使用起来是......
  • mybatis-config配置文件各项简单介绍
     以下为mybatis-config里面可以配置的各个设置项的介绍(并非每一项都需要配置,在spirngboot项目里,不做任何配置也是可以的,因为有默认的配置):1.<!–配置全局性ca......
  • 从根上理解Mybatis的一级、二级缓存
    1\.写在前头这篇帖子主要讲一级缓存,它的作用范围和源码分析(本来想把一二级缓存合在一起,发现太长了)2\.准备工作2.1两个要用的实体类publicclassDepartment{public......
  • Springboot 自定义mybatis 拦截器,实现我们要的扩展
    前言相信大家对拦截器并不陌生,对mybatis也不陌生。有用过pagehelper的,那么对mybatis拦截器也不陌生了,按照使用的规则触发sql拦截,帮我们自动添加分页参数。那么今天,我们的实......