u011856283
你好杰米
2018-11-25 00:57
采纳率: 95%
浏览 12.2k

【mybatis】如果程序中查询sql结果为空,会返回null还是空集合

就是java中用mybatis进行一个select查询,返回的结果是对象List,假如这个时候查询的数据正好没有,
请问返回的结果是null还是空的List

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • qq_39647714
    qq_39647714 2018-11-25 01:41
    已采纳

    刚刚测了一下,返回空的list

    点赞 8 评论
  • qq_38361634
    爱_LOVE 2018-11-25 02:04

    看你sql语句有没有full join 如果有的话就返回一个全为null的一条数据,没有就返回一个空的list。空list你读取的时候因为里面没数据,所以读取的是null

    点赞 评论
  • lesliehj
    lesliehj 2018-11-27 03:04

    spring+mybatis实测
    直接从mapper返回的list是一个没有内容、size为0的对象,也就是[],不为null

    点赞 评论
  • shaft_V
    shaft_V 2019-06-04 15:43

    可能是你用了连表查询 例如 a left join table b 但是呢, 你查的是 b.* , 假如 b*没有数据 但是a.*有数据 ,此时会返回 [null] ,
    size 为>0 ,, 如果去查条数,其实是按照 a表条数来的

    点赞 评论
  • githubhxd
    笑行万里 2020-06-23 18:08

    list 和 set 返回的是空集 emptylist emptyset
    具体看下面的回答
    https://stackoverflow.com/questions/12156562/how-is-mybatis-dealing-with-an-empty-result-set

    点赞 评论
  • wengedexiaozao
    稳哥的小灶 2018-11-26 02:01

    这种自己写一个sql语句试一下就行,首先保证sql查询结果为空,然后在java中运行,自己亲测一遍,印象更深。

    点赞 评论

相关推荐