最近在做mybatis项目时,出现了java.lang.NullPointerException空指针异常
经过检查代码,发现关键代码并无写错,是在一个数据表里进行空值查询
<select id="selectByNameRole" resultType="User">
SELECT * FROM smbms_user WHERE userName LIKE CONCAT('%',#{userName},'%')
<if test="userRole!=null and userRole!=''">AND userRole=#{userRole}</if>
</select>
List<User> userList=session.getMapper(UserDao.class).selectByNameRole("张",null);
for (User user : userList) {
System.out.println(user.getUserName());
}
日志显示查询成功,但是却一直报错
最后发现是映射的问题
在mybatis-confim.xml中,没有映射
<setting name="autoMappingBehavior" value="NONE"/>
改为PARTIAL半自动或者FULL全自动,皆可以正常查询