springboot一个联表查询,where之后表中没有所要的结果就是返回的结果应该是个null,但是为什么代码直接抛异常了,异常时NullPointerException,是我记错了吗?不应该返回的是个null的吗?还是说我用了druid的原因?
没有结果是返回空,空指针异常是你用对象接收的数据,操作了对象中的方法。
返回值是List集合,还是一条记录呢,一条记录是null.
对数据库查询结果进行非空判断后才能进行其他操作,否则,99%会空指针
返回值如果是List, list本身不为null,但是list中没有元素,即size=0;如果后续代码从list取一个元素,进行操作就会报空指针。
你的报错,应该不是查询不到记录引起的空指针。因为有时候我们查询数据库的期望结果就是没有记录,druid不会替我们决定抛空指针。
加个非空判断就好,如果前端不需要数据,就直接返回null,要数据你可以考虑返回一个空数组,不加非空判断肯定会报空指针异常的