怎么让系统查询不到返回[],而不是对结果进行判断处理?
怎么让系统查询不到返回[],而不是对结果进行判断处理?
你这种 要求有点 奇葩,为什么呢?因为一般我们都会希望 如果查询不到数据就返回 null,因为如果给你返回一个 [] 的话也就代表这这个数组已经被实例化了,会占用一定内存,所以一般不会使用 []去代替null。
而且一般不会使用 数组去接受结果集,除非一些特殊的业务。如果你硬是需要一个 [] 的话,我觉得 写一个 if 判断是最快速有效的办法。
https://blog.csdn.net/huan_chen/article/details/71763923
我觉得应该看看你的sql进行分析和处理,返回【null】,比如sum函数就有可能返回null,通过对sql的加工可以实现sum返回0,可以配合case when等函数实现,具体方法可以自行百度
你直接定义数组接收返回参数就可以了
如果硬是要返回[],可以自己编写一个类专门用来就是查询结果,然后判断是否为null,如果为null则返回一个[]就行了
出现这个问题的原因是因为关联查询时主表中有数据,以副表条件查询时为null,mybatis返回结果就为[null]。
使用list接收返回值就行了,list的数据结构mybatis会实例化空对象的