最终解决Mybatis多表联合查询中字段名重复导致的各路问题
来源:互联网 发布:剑网三重制版 知乎 编辑:程序博客网 时间:2024/06/06 20:02
解决字段名重复导致的问题,简单直接的方法是设置别名,例如
<id column="id" jdbcType="BIGINT" property="id"/> <result column="name" jdbcType="VARCHAR" property="name"/> <association property="post" column="postCode" javaType="com.test.post.model.Post" > <id property="id" column="postid"/> <result property="name" column="postname"/> </association>
然而随之楼主又出现了一个新的问题,例如此例中,当postCode为空时,postid和postname理所当然为空。这时,又出现了问题:post的id和name竟然被赋予了外围employee的id和name值。这显然不是我们想要的结果啊,怎么办呢:
<configuration> <settings> <setting name="callSettersOnNulls" value="true"/> <!--查询字段为空时依旧返回至对象--> </settings></configuration>
在mybatis的配置文件中加上这句代码后,post的id和name,被正常的赋予了null值,而不是错误的employee的值了。
然而还是不对啊,这里employee为空,查询返回的post应该是null才对,而不是返回一个属性都是空的post。
怎么解决呢,尝试一下另一种association的查询方式吧:
<association property="post" column="postCode" select="com.test.post.dao.PostMapper.selectByPrimaryKey"/>
用分步查询的方式,果然没有嵌套查询所带来的问题了。返回了正常的null。
问题解决。
阅读全文
0 0
- 最终解决Mybatis多表联合查询中字段名重复导致的各路问题
- Hibernate原生SQL多表查询字段名重复问题
- Mybatis中解决数据库字段名与实体类属性名不同的问题
- 数据库中一对多表关联的联合查询重复问题
- hibernate 多表联合查询,分页,重复记录导致的总记录数不对的解决方法。
- SQL语句对于多表联合查询重复字段的特殊语法处理
- 解决Mysql数据库实现多表联合查询及按照其中一个字段进行排序问题
- MyBatis的多表联合查询
- 查询同一个表中重复的字段
- hibernate使用原生sql查询Hibernate原生SQL多表查询字段名重复问题以及解决方法
- mybatis 多表查询字段有重复解决方案
- mybatis 多表联合查询
- Mybatis中联合查询
- Oracle中已知字段名查询所在的表名
- MyBatis知识系列之四:解决属性名和字段名不一致的问题
- MyBatis解决字段名和实体类属性名不相同冲突问题时返回查询结果为空
- MyBatis中解决字段名与实体类属性名不相同的冲突
- 查询索引名和字段名相同的表及查找重复索引
- 算法入门题
- 东方数智发布新品AIDOL,打造人工智能偶像全息平台
- 第7周项目1
- 使用layui背景花屏
- [HDU]2829 Lawrence 斜率优化
- 最终解决Mybatis多表联合查询中字段名重复导致的各路问题
- 使用pip安装包
- 朴素贝叶斯分类器——理论
- PowerShell实现简单的grep功能
- xml 读写
- jQuery length 和 size()区别
- Java 标准 I/O 流编程一览笔录
- 7-24 树种统计(25 分)
- -bash: ls: command not found 或ifconfig ,su 等命令不能使用