什么时候使用resulttype_ResultMap和ResultType在使用中的区别
在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解
resultType:当使用resultType做SQL语句返回结果类型处理时,对于SQL语句查询出的字段在相应的pojo中必须有和它相同的字段对应,而resultType中的内容就是pojo在本项目中的位置。
因此对于单表查询的话用resultType是最合适的。但是,如果在写pojo时,不想用数据库表中定义的字段名称,也是可以使用resultMap进行处理对应的。多表连接查询时,若是一对一的连接查询,那么需要新建一个pojo,pojo中包括两个表中需要查询出的所有的字段,这个地方的处理方式通常为创建一个继承一个表字段的pojo,再在里面添加另外一个表内需要查询出的字段即可。若是一对多查询时,若是使用内连接查询,则很可能出现查询出的字段有重复。使用双重for循环嵌套处理即可。
resultMap:当使用resultMap做SQL语句返回结果类型处理时,通常需要在mapper.xml中定义resultMap进行pojo和相应表字段的对应。
resultMap对于一对一表连接的处理方式通常为在主表的pojo中添加嵌套另一个表的pojo,然后在mapper.xml中采用association节点元素进行对另一个表的连接处理。例如:
若是一对多的表连接方式,比如订单表和订单明细表即为一对多连接,若是不对sql语句进行处理,由于一个订单对应多条订单明细,因此查询出的结果对于订单表数据来说将会出现重复,例如:
resultMap的处理方式为在订单表数据的pojo中添加一个list,list中为订单明细表的属性,在mapper.xml中采用如下的处理方式:
!-- 订单及订单明细的resultMap
使用extends继承,不用在中配置订单信息和用户信息的映射
-->
在查询时,虽然一条订单信息对应多条订单明细,由于将多条信息明细存储到了list中,因此查询后将不再出现重复数据,达到了去重的效果
什么时候使用resulttype_ResultMap和ResultType在使用中的区别相关推荐
- ResultMap和ResultType在使用中的区别
在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使 ...
- 爵士鼓视频软件测试,【图片】电鼓和真鼓实际使用中的区别,买鼓的朋友可以参考【架子鼓吧】_百度贴吧...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 电鼓和真鼓实际使用中的区别.看到吧里很多人问买电鼓好还是真鼓好.首先不容置疑地说是真鼓好.下面我说说电鼓和真鼓的几点区别(此处应该有掌声).我办公室放的是 ...
- oracle resulttype,MyBatis中关于resultType和resultMap的区别介绍
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的(对应着我们的model对象中的实体),而re ...
- resultType 与resultMap 的区别
2019独角兽企业重金招聘Python工程师标准>>> resultType: 使用resultType进行输出映射,只有查出来的列名与pojo中的属性名一致,才能映射成功 resu ...
- resultType 和resultMap 的区别?
resultType 是<select>标签的一个属性,适合简单对象(POJO.JDK 自带类型:Integer.String.Map 等),只能自动映射,适合单表简单查询. <se ...
- MyBatis的resultType和resultMap的区别
在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使 ...
- 全面解析resultType和resultMap的区别
一.解决数据库字段和属性字段不一致问题 开启驼峰命名,这只能解决特定字段不一致问题,如aa_bb映射成aaBb属性: 起别名,别名的名称毫无疑问就是pojo类中属性名,使用了别名就解决了pojo属性和 ...
- mybatis中resultType和resultMap的区别
MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap resultType是直接表示返回类型的,而resultMap则是对外部ResultM ...
- MyBatis中关于resultType和resultMap的区别
使用resultType做自动映射时,要注意字段名和POJO的属性名必须一致. 使用resultType做自动映射时,可以不一致.但是你要想不一致.那么就必须在<mapper>标签下,添加 ...
最新文章
- 数据挖掘-matplotlib、numpy、pandas
- XCode 导入头文件不提示解决
- 为什么要打jar_生活在西北的兰州人过春节为什么要打太平鼓?
- Web前端开发代码规范(基础)
- opencv vs2013开发环境配置
- 当我谈跑步时我谈些什么——村上春树
- lombok var_使用var,Lombok和Fluxtion轻松处理事件
- javascript OOP(下)(九)
- (转) java 通过 jdbc 链接 ms sql server 中出现 no suitable driver for ...
- (三)mybatisPlus自定义Sql语句
- 南京邮电大学java第三次实验报告
- JAVA数据库访问控制框架设计与使用
- mac 电脑 打开隐藏文件
- 加密算法(国密算法)
- mysql初始化密码_MySQL5.7初始密码查看及重置
- 微信公众平台开发(2)--微信认证流程图文详解
- 和女友一起学技术,她去了字节,我去了华为
- html 手机ar,vr与ar技术的区别有哪些
- 力扣解法汇总969- 煎饼排序
- 牛顿下山法求解非线性方程(组)(C实现)
热门文章
- HDU 6165 FFF at Valentine
- 简单的RPC java实现
- 【转载】IPPROTO_RAW IPPROTO_IP
- python面试题之多线程好吗?列举一些让Python代码以并行方式运行的方法
- python全套视频十五期(116G)
- SpringBoot整合kafka(安装)
- Java架构师面试之Netty面试专题及答案(共10题,含详细解答)
- PyTorch 1.0 中文官方教程:使用 PyTorch 进行图像风格转换
- 数据科学 IPython 笔记本 8.5 简单的散点图
- 数据科学 IPython 笔记本 8.3 Matplotlib 可视化