qq_35441045
2018-06-11 10:51
采纳率: 50%
浏览 3.5k
已采纳

MyBatis 查询数组返回[null]

怎么让系统查询不到返回[],而不是对结果进行判断处理?
怎么让系统查询不到返回[],而不是对结果进行判断处理?

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

7条回答 默认 最新

  • 邪恶八进制 2018-06-12 01:57
    已采纳

    你这种 要求有点 奇葩,为什么呢?因为一般我们都会希望 如果查询不到数据就返回 null,因为如果给你返回一个 [] 的话也就代表这这个数组已经被实例化了,会占用一定内存,所以一般不会使用 []去代替null。
    而且一般不会使用 数组去接受结果集,除非一些特殊的业务。如果你硬是需要一个 [] 的话,我觉得 写一个 if 判断是最快速有效的办法。

    点赞 评论
  • blownewbee 2018-06-11 14:01
    点赞 评论
  • 酱油砖家 2018-06-12 03:05

    我觉得应该看看你的sql进行分析和处理,返回【null】,比如sum函数就有可能返回null,通过对sql的加工可以实现sum返回0,可以配合case when等函数实现,具体方法可以自行百度

    点赞 评论
  • qq_39615345 2018-06-12 03:05

    你直接定义数组接收返回参数就可以了

    点赞 评论
  • 至少开心 2018-06-12 07:27

    如果硬是要返回[],可以自己编写一个类专门用来就是查询结果,然后判断是否为null,如果为null则返回一个[]就行了

    点赞 评论
  • qq_36440168 2021-03-30 09:56

    出现这个问题的原因是因为关联查询时主表中有数据,以副表条件查询时为null,mybatis返回结果就为[null]。

    点赞 评论
  • hac无聊编编 2021-07-30 07:06

    使用list接收返回值就行了,list的数据结构mybatis会实例化空对象的

    点赞 评论

相关推荐 更多相似问题