经检查:
UserMapper.xml的配置
<!-- 查询用户列表 -->
<select id="getUserListByUserName" resultType="user" parameterType="String">
select * from smbms_user
where userName like CONCAT (‘%‘,#{userName},‘%‘)
</select>
UserMapper接口的代码
public List<User> getUserListByUserName(String userName);
UserMapperTest类的代码
@Test
public void testGetUserList1() {
List<User> userList=null;
SqlSession sqlSession = null;
String userName="赵";
try {
sqlSession = MyBatisUtil.createSqlSession();
userList = sqlSession.getMapper(UserMapper.class).getUserListByUserName(userName);
} catch (Exception e) {
e.printStackTrace();
}finally{
MyBatisUtil.closeSqlSession(sqlSession);
}
for(User user:userList){
logger.debug("UserMapperTest userCode---> " + user.getUserCode()
+"and userName:"+user.getUserName());
}
}
以上均没有问题
最终发现是前面在测试mybatis-config.xml中mapper配置时的代码没有修改回来
出错时的mybatis-config.xml中mapper配置
<!-- 将mapper文件加入到配置文件中 -->
<mappers>
<!-- <mapper resource="cn/smbms/dao/user/UserMapper.xml"/>-->
<mapper url="file:///D:/javastudy/练习素材/UserMapper.xml"/>
</mappers>
修改后的mybatis-config.xml中mapper配置
<!-- 将mapper文件加入到配置文件中 -->
<mappers>
<mapper resource="cn/smbms/dao/user/UserMapper.xml"/>
<!-- <mapper url="file:///D:/javastudy/练习素材/UserMapper.xml"/>-->
</mappers>
因为前面是将UserMapper.xml复制粘贴在了工作空间以外的地方,对项目的文件修改,修改不了D:/javastudy/练习素材/UserMapper.xml"/这个文件
在使用MyBatis框架根据用户名对用户表进行模糊查询时出现NullPointerExption问题
原文:https://www.cnblogs.com/pere/p/11642816.html