Mybatis:查询数据提示空指针异常

郎家岭伯爵 2023年07月10日 446次浏览

问题

在 SpringBoot 项目中,使用 Mybatis 从数据库中查询数据,查询的数据获取属性时报错空指针异常:

java.lang.NullPointerException: null

解决

例如以下代码段:

@GetMapping("/t32")
public void test32(){
    UserEntity userById = userMapper.getUserById(19);
    System.out.println(userById);
    System.out.println(userById.getUserName());
}

如果 UserEntity userById = userMapper.getUserById(19); 没有查询到 ID 为 19 的 user,那么 userById 即为 null,因此继而获取 userById.getUserName() 时即会出现 java.lang.NullPointerException

注:

  • 在根据某一条件获取用户 List 时,如果根据该条件没有获取到任何用户,那么该 List 的长度为 0。

总结

SpringBoot 项目中,如果 Mybatis 查询单条数据时未获取到任何值,那么用于接收该值的变量为 null;如果查询 List 时未获取到任何值,那么用户接收该 List 的变量的长度为 0。