(mybatis)直接执行sql结果为空,但是session.selectList出的list结果中包含了一个属性为null的bean对象

这是dao层的代码这是debug结果,在数据库端直接执行sql,没有一条记录怎么回事呢?sql中用到了GROUP_CONCAT这个函数... 这是dao层的代码

这是debug结果,在数据库端直接执行sql,没有一条记录

怎么回事呢?
sql中用到了GROUP_CONCAT这个函数
展开
 我来答
天枰雨伞不在家
推荐于2017-12-16 · TA获得超过170个赞
知道小有建树答主
回答量:224
采纳率:100%
帮助的人:67.7万
展开全部
今天碰巧遇到这个问题了,原因是关联表查询的问题,第一个表关联查的时候对应的关联表中的记录有多条的情况,这时候第一个表有记录但是关联的时候就没有合适的值(根据你要查的列而定);比如c left join d 这个时候要是c中的一条记录对应d中的可能有多条记录,而你要查的列又都是d中的字段,出来的就是all element is null 但是size=1;
解决办法:1.将你获取的list去除null元素;
2.查询的时候加d的判断条件,比如d.id is not null
幻象波普
2014-08-20
知道答主
回答量:6
采纳率:0%
帮助的人:2.6万
展开全部
检查下group by 语句,我碰到这种情况,是mysql select语句中用了max函数,但没有用group by,查询结果本应该为空,但返回的list的size为1,字段全为null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hhxlyl
2014-07-15 · TA获得超过392个赞
知道小有建树答主
回答量:380
采纳率:100%
帮助的人:430万
展开全部
sql语句贴出来,部分函数会影响数据,你可以看到有个orderId=0,表示执行你的sql在数据库里面能查到数据,只不过不是正常的结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
andygulin
2014-07-14 · TA获得超过1678个赞
知道小有建树答主
回答量:1362
采纳率:0%
帮助的人:1104万
展开全部
没有数据,所以为null啊
追问
没有数据,list集合的size()应该为0,对吗?现在是size()=1,问什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式