MyBatis查询结果resultType返回值类型详细介绍
一、返回一般数据类型
比如要根据 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
等。
总结. 这篇博文主要介绍了在开发中常用的几种数据返回值类型,希望能够为你提供帮助。
MyBatis查询结果resultType返回值类型详细介绍相关推荐
- MyBatis查询结果resultType返回值类型
基本数据类型: xml配置文件: <select id="getUnitNum" resultType="int"> dao层: int getUn ...
- Jav详细介绍的Mapper对应的Mybatis xml查询结果resultType返回值类型
一.返回一般数据类型 此实列总代用的是string类型 列:比如我们要根据 id 属性获得数据库中的某个字段值. mapper 接口: // 根据 id 获得数据库中的 username 字段的值 ...
- mysql resulttype_常见的MyBatis中查询结果resultType返回值类型
一.返回一般数据类型 比如要根据 id 属性获得数据库中的某个字段值. mapper (dao)接口: // 根据 id 获得数据库中的 username 字段的值 String getStuName ...
- MyBatis中resultType返回值类型介绍
一.返回一般数据类型 比如要根据 id 属性获得数据库中的某个字段值. mapper 接口: // 根据 id 获得数据库中的 username 字段的值 String getEmpNameById( ...
- Mybatis中的核心配置文件SqlMapConfig.xml详细介绍
一.properties(属性) 可以引用java属性文件中的配置信息如下 jdbc.properties代码如下: jdbc.driver=com.mysql.jdbc.Driver jdbc.ur ...
- php mysqli查询实例,php mysqli查询语句返回值类型实例分析
本文实例分析了php mysqli查询语句返回值类型.分享给大家供大家参考,具体如下: $link = new mysqli('localhost', 'root','123','test'); $s ...
- php mysql update 返回_php mysql_query增删改查(update delete insert)返回值类型
insert插入返回值类型 $result=mysql_query("insert into table(id,name,age)values(1,'wxp',30)"); var ...
- JDBC连接mysql、创建表、操作数据、PreparedStatement防注入、sql语句返回值类型知识汇总
JDBC连接过程: import java.sql.*;/*** Description:* Created by CWG on 2020/10/29 21:05*/ public class Con ...
- (转)C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解
原文链接:https://www.cnblogs.com/landeanfen/p/5501487.html 阅读目录 一.void无返回值 二.IHttpActionResult 1.Json(T ...
最新文章
- SQL Server 2008企业试用版到期,升级为企业版
- android自定义美颜相机完整程序,Android OpenGL ES从入门到进阶(一)—— 五分钟开发一款美颜相机...
- 所有编程皆为Web编程
- 计数排序和桶排序 java代码实现
- 拳王公社:虚拟资源项目怎么做?如何操作赚钱?最新操作方法
- php 四级联动插件,JavaScript_jQuery实现的多选框多级联动插件,jQuery 实现的多选框联动插件 - phpStudy...
- C语言小案例_OA大典故障案例摘录【第1392篇】兄弟9140cdn彩机报:!硒鼓!滑动硒鼓单元上的绿色滑块bk黑色c青色m品红色y黄色...
- windows7内部版本7601副本不是正版的解决方案
- oracle多个参数查询,Oracle 多参数查询语句
- 旧服务器显示器回收,服务器回收 下城淘汰电脑显示器回收价钱
- 原生JavaScript批量下载文件压缩包
- win10内存占用率过高怎么办?Win10电脑内存占用率很高的原因和解决方法
- bilibili视频下载器v1.0.5 支持4K超清
- 软件删不掉要计算机管理,控制面板卸载不了程序,小编教你如何处理控制面板中卸载不掉的软件...
- 完整的PRD文档包含哪些内容?
- 粗糙集的概念和一些例子
- Finished with error:Navicat 运行SQL文件 报错
- 浏览器打开一个网站可能经历哪些步骤
- GIS系列(三)几种互联网地图服务背后的解读(WMS,WFS,WMTS,TMS)
- 虚拟机从光盘启动方法
热门文章
- java intern_java String的intern方法
- mysql中间件研究(Atlas,cobar,TDDL)
- 2021暑假生产实习【SSM实习项目-超市积分管理系统】博客汇总表
- Python基础day02 作业解析【6道 if 判断题、9道 循环题】
- Objective-C学习笔记---构造函数和析构函数
- BUG总结—Navicat连接Mysql8.0.11出现1251错误
- java模拟Digest.认证
- 求数组中元素为另外两个元素和的最大元素
- 为什么做了梦第二天想不起来_元旦提醒:为什么有人睡觉爱把脚伸到被子外面?其实与身体状况有关…切勿忽视...
- Unable to locate Attribute with the the given name [] on this ManagedType[com.XXX]