在使用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在使用中的区别相关推荐

  1. ResultMap和ResultType在使用中的区别

    在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使 ...

  2. 爵士鼓视频软件测试,【图片】电鼓和真鼓实际使用中的区别,买鼓的朋友可以参考【架子鼓吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 电鼓和真鼓实际使用中的区别.看到吧里很多人问买电鼓好还是真鼓好.首先不容置疑地说是真鼓好.下面我说说电鼓和真鼓的几点区别(此处应该有掌声).我办公室放的是 ...

  3. oracle resulttype,MyBatis中关于resultType和resultMap的区别介绍

    MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的(对应着我们的model对象中的实体),而re ...

  4. resultType 与resultMap 的区别

    2019独角兽企业重金招聘Python工程师标准>>> resultType: 使用resultType进行输出映射,只有查出来的列名与pojo中的属性名一致,才能映射成功 resu ...

  5. resultType 和resultMap 的区别?

    resultType 是<select>标签的一个属性,适合简单对象(POJO.JDK 自带类型:Integer.String.Map 等),只能自动映射,适合单表简单查询. <se ...

  6. MyBatis的resultType和resultMap的区别

    在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使 ...

  7. 全面解析resultType和resultMap的区别

    一.解决数据库字段和属性字段不一致问题 开启驼峰命名,这只能解决特定字段不一致问题,如aa_bb映射成aaBb属性: 起别名,别名的名称毫无疑问就是pojo类中属性名,使用了别名就解决了pojo属性和 ...

  8. mybatis中resultType和resultMap的区别

    MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap resultType是直接表示返回类型的,而resultMap则是对外部ResultM ...

  9. MyBatis中关于resultType和resultMap的区别

    使用resultType做自动映射时,要注意字段名和POJO的属性名必须一致. 使用resultType做自动映射时,可以不一致.但是你要想不一致.那么就必须在<mapper>标签下,添加 ...

最新文章

  1. 数据挖掘-matplotlib、numpy、pandas
  2. XCode 导入头文件不提示解决
  3. 为什么要打jar_生活在西北的兰州人过春节为什么要打太平鼓?
  4. Web前端开发代码规范(基础)
  5. opencv vs2013开发环境配置
  6. 当我谈跑步时我谈些什么——村上春树
  7. lombok var_使用var,Lombok和Fluxtion轻松处理事件
  8. javascript OOP(下)(九)
  9. (转) java 通过 jdbc 链接 ms sql server 中出现 no suitable driver for ...
  10. (三)mybatisPlus自定义Sql语句
  11. 南京邮电大学java第三次实验报告
  12. JAVA数据库访问控制框架设计与使用
  13. mac 电脑 打开隐藏文件
  14. 加密算法(国密算法)
  15. mysql初始化密码_MySQL5.7初始密码查看及重置
  16. 微信公众平台开发(2)--微信认证流程图文详解
  17. 和女友一起学技术,她去了字节,我去了华为
  18. html 手机ar,vr与ar技术的区别有哪些
  19. 力扣解法汇总969- 煎饼排序
  20. 牛顿下山法求解非线性方程(组)(C实现)

热门文章

  1. HDU 6165 FFF at Valentine
  2. 简单的RPC java实现
  3. 【转载】IPPROTO_RAW IPPROTO_IP
  4. python面试题之多线程好吗?列举一些让Python代码以并行方式运行的方法
  5. python全套视频十五期(116G)
  6. SpringBoot整合kafka(安装)
  7. Java架构师面试之Netty面试专题及答案(共10题,含详细解答)
  8. PyTorch 1.0 中文官方教程:使用 PyTorch 进行图像风格转换
  9. 数据科学 IPython 笔记本 8.5 简单的散点图
  10. 数据科学 IPython 笔记本 8.3 Matplotlib 可视化