MyBatis ResultMap去重操作,怎样操作

Crq
Crq
管理员
1686
文章
0
粉丝
Linux教程评论73字数 352阅读1分10秒阅读模式
摘要有时候用MyBatis查询结果集,将打印的sql语句放在数据库客户端执行,比如结果为10条,但是MyBatis返回的数据却只有4条,这是为什么呢?

MyBatis的ResultMap默认是把id作为map的主键,当id相同时,不管其他字段相不相同,它都当作相同的记录。那当我们想要MyBatis不去重,怎么操作呢?在POJO定义中加入一个伪id作为一标识即可。如:

在主表类(User.java)里 添加一个“伪列”,作用:不去重

MyBatis ResultMap去重操作,怎样操作-图片1

UserMapper.xml

MyBatis ResultMap去重操作,怎样操作-图片2

运行结果

MyBatis ResultMap去重操作,怎样操作-图片3
原理:该sql语句生成一列不重复的数据,例如:行号;以该列作为主键,MyBatis检测主键不重复,所以返回多条数据记录。

原文来自:https://my.oschina.net/liuh1988/blog/1541711

本文地址: https://www.linuxprobe.com/mybatis-resultmap.html编辑员:郝大发,审核员:逄增宝

本文原创地址:https://www.linuxprobe.com/mybatis-resultmap.html编辑:public,审核员:暂无

weinxin
我的微信
微信号已复制
我的微信
这是我的微信扫一扫
 
Crq
  • 本文由 Crq 发表于2024年11月10日 17:31:15
  • 转载请注明:https://www.cncrq.com/11611.html
K8S学习你需要掌握的知识! Linux教程

K8S学习你需要掌握的知识!

通过kubectl命令可以操作和管理K8S资源,对于初学者可以在掌握K8S基础命令的基础上再去学习K8s的原理和架构,那么K8S常用的命令有哪些呢?来看一下吧。
如何向云计算迁移 Linux教程

如何向云计算迁移

在企业里,许多向云计算迁移成功的案例,都是先从一些较为简单的应用开始迁移,然后再一步步把更多的应用和数据迁移到云,不可能同时把所有的应用都一下迁移过去。上云迁移的过程,我们可以将其...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证