(mybatis)直接执行sql结果为空,但是session.selectList出的list结果中包含了一个属性为null的bean对象
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(mybatis)直接执行sql结果为空,但是session.selectList出的list结果中包含了一个属性为null的bean对象相关的知识,希望对你有一定的参考价值。
这是dao层的代码
这是debug结果,在数据库端直接执行sql,没有一条记录
怎么回事呢?
sql中用到了GROUP_CONCAT这个函数
解决办法:1.将你获取的list去除null元素;
2.查询的时候加d的判断条件,比如d.id is not null 参考技术A 检查下group by 语句,我碰到这种情况,是mysql select语句中用了max函数,但没有用group by,查询结果本应该为空,但返回的list的size为1,字段全为null 参考技术B sql语句贴出来,部分函数会影响数据,你可以看到有个orderId=0,表示执行你的sql在数据库里面能查到数据,只不过不是正常的结果。 参考技术C 没有数据,所以为null啊追问
没有数据,list集合的size()应该为0,对吗?现在是size()=1,问什么?
以上是关于(mybatis)直接执行sql结果为空,但是session.selectList出的list结果中包含了一个属性为null的bean对象的主要内容,如果未能解决你的问题,请参考以下文章
mybatis 控制台打印出来的sql 执行结果为空 但是将sql放到mysql执行有数据
mybatis学习----------查询数据库返回结果为空
MyBatis框架中的条件查询!关键字exists用法的详细解析