就是java中用mybatis进行一个select查询,返回的结果是对象List,假如这个时候查询的数据正好没有,
请问返回的结果是null还是空的List
刚刚测了一下,返回空的list
spring+mybatis实测
直接从mapper返回的list是一个没有内容、size为0的对象,也就是[],不为null
可能是你用了连表查询 例如 a left join table b 但是呢, 你查的是 b.* , 假如 b*没有数据 但是a.*有数据 ,此时会返回 [null] ,
size 为>0 ,, 如果去查条数,其实是按照 a表条数来的
看你sql语句有没有full join 如果有的话就返回一个全为null的一条数据,没有就返回一个空的list。空list你读取的时候因为里面没数据,所以读取的是null
list 和 set 返回的是空集 emptylist emptyset
具体看下面的回答
https://stackoverflow.com/questions/12156562/how-is-mybatis-dealing-with-an-empty-result-set
这种自己写一个sql语句试一下就行,首先保证sql查询结果为空,然后在java中运行,自己亲测一遍,印象更深。