详解Mybatis中的resultType和resultMap
resultType和resultMap是Mybatis基于xml配置开发过程中sql语句所在标签的一种属性,它们的特性如下:
1. resultType:该属性是为了配置mybatis查询的返回结果类型,如果返回值类型是整型数据,该属性处可以配置int,如查询数量:
<select id="findTotal" resultType="int">-- parameterType 表示参数类型select count(users) from user;</select>
如果查询的返回值类型是String,resultType属性处就应该配置为String。
另外,如果查询结果为对象,并且实体类属性的名称可以和数据库中表的列名相互对应,在resultType属性处可以直接填写实体类所在包的位置,例如:
<select id="findAll" resultType="domain.User">select * from user;</select>
实体类所在的包如下图所示
2.resultMap:该属性也是为了配置mybatis查询的返回结果类型,不过该属性主要还是为了解决实体类属性名称和数据库表的列名不匹配的问题,言外之意就是如果我们所写的实体类的属性的名称和数据库表的列名不能一一对应,那么我们使用mybatis进行查询时就会报错,或者查出空的结果。所以,resultMap属性就是为了解决实体类属性和数据库列名不匹配的查询。
resultMap的使用方法:
在mapper标签下配置resultMap标签
<resultMap id="userMap" type="domain.User"><!-- 主键字段的对应,property为实体类属性名,users为数据库字段名--><id property="实体类主键属性名" column="数据库表主键列名"></id><!-- 非主键的约束--><result property="实体类属性名" column="数据库表列名"></result><result property="实体类属性名" column="数据库表列名"></result><result property="实体类属性名" column="数据库表列名"></result><result property="实体类属性名" column="数据库表列名"></result><result property="实体类属性名" column="数据库表列名"></result><result property="实体类属性名" column="数据库表列名"></result></resultMap><select id="findAll" resultMap="userMap">select * from user;</select>
3.resultType和resultMap的区别
resultType和resultMap在使用上最大的区别就是resultType使用时实体类的属性名要和数据库表的列名一一对应,resultMap是mybatis框架为了解决实体类属性和数据库表列名不能对应上而创建的一种解决方案。
详解Mybatis中的resultType和resultMap相关推荐
- java mysbatis select_java相关:详解Mybatis中的select方法
java相关:详解Mybatis中的select方法 发布于 2020-7-3| 复制链接 摘记: selectById方法根据id,查询记录 ```java public void updateRe ...
- java中resulttype,深入理解Mybatis中的resultType和resultMap
一.概述 MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部Re ...
- oracle resulttype,MyBatis中关于resultType和resultMap的区别介绍
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的(对应着我们的model对象中的实体),而re ...
- MyBatis中关于resultType和resultMap的区别
使用resultType做自动映射时,要注意字段名和POJO的属性名必须一致. 使用resultType做自动映射时,可以不一致.但是你要想不一致.那么就必须在<mapper>标签下,添加 ...
- Mybatis中的resultType与resultMap区别
都可以返回一种数据类型,比如String,Long,自定义的Person类等: MyBatis的每一个查询映射的返回类型都是ResultMap,只是当我们提供的返回类型属性是resultType的时候 ...
- mysql resulttype map_Mybatis中的resultType和resultMap查询操作实例详解
resultType和resultMap只能有一个成立,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,resultMap解决复杂查询是的映射问题.比 ...
- java批量执行查询sql语句_详解MyBatis直接执行SQL查询及数据批量插入
一.直接执行SQL查询: 1.mappers文件节选 ${paramSQL} 2.DAO类节选 public interface SomeDAO{ List getInstanceModel(@Par ...
- 详解mybatis映射配置文件
一 mybatis 映射文件结构 mybatis映射配置文件存在如下顶级元素,且这些元素按照如下顺序被定义. cache – 给定命名空间的缓存配置. cache-ref – 其他命名空间缓存配置的 ...
- Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件
封面:洛小汐 作者:潘潘 若不是生活所迫,谁愿意背负一身才华. 前言 上节我们介绍了 < Mybatis系列全解(四):全网最全!Mybatis配置文件 XML 全貌详解 >,内容很详细( ...
最新文章
- spring 获取配置文件的值
- 深度解析 TypeConverter TypeConverterAttribute (二)
- 谈谈IT行业的一些生存之道!
- 2021年,Web前端还好找工作吗?
- hashCode方法的使用
- ArcGISEngine二次开发(2):地图制图
- Eclipse自己定义keystore
- Python 每日一记31相关性矩阵建立
- 解耦的好处以及哪来的这么多好处
- java graphics类详解_Java中Graphics2D类的使用操作解析
- 小码哥C++:第一课
- CSDN前两百名博客
- 【腾讯Bugly干货分享】程序员们也该知道的事——“期权和股票”
- vue如何动态获取数据改变背景颜色和字体颜色以及获取图片
- 地图定位技术揭秘(一)
- 阿木社区的SLAM无人机硬件配置
- 软件测试需要具备的技能(软技能硬技能)
- 违法?猝死?你肯定不知道程序员还有这些“高危”操作
- linux 中文语系,linux中语系
- 网页颜色搭配技巧nbsp;文字字体、字号…