在使用MyBatis框架根据用户名对用户表进行模糊查询时出现NullPointerExption问题

image

image

经检查:

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"/这个文件

猜你喜欢

转载自www.cnblogs.com/pere/p/11642816.html