在使用MyBatis框架使用传入类对象进行查询是出现查出结果为null的问题
2019-10-10 11:02 pere 阅读(947) 评论(0) 收藏 举报问题:
UserMapperTest类代码如下:
@Test
public void testGetUserList1() {
List<User> userList=null;
SqlSession sqlSession = null;
User user3=new User();
user3.setUserName("赵");
user3.setUserRole(2);
try {
sqlSession = MyBatisUtil.createSqlSession();
userList = sqlSession.getMapper(UserMapper.class).getUserList3(user3);
} catch (Exception e) {
e.printStackTrace();
}finally{
MyBatisUtil.closeSqlSession(sqlSession);
}
for(User user:userList){
logger.debug("UserMapperTest userCode---> " + user3.getUserCode()
+"and userName:"+user3.getUserName()
+"and userRoleName:"+user3.getUserRoleName());
}
}
执行的结果如下:
[DEBUG] 2019-10-10 10:55:14,433 cn.smbms.dao.user.UserMapperTest - UserMapperTest userCode---> nulland userName:赵and userRoleName:null
经检查问题出现在以下地方:
@Test
public void testGetUserList1() {
List<User> userList=null;
SqlSession sqlSession = null;
User user3=new User();//1
user3.setUserName("赵");//2
user3.setUserRole(2);//3
try {
sqlSession = MyBatisUtil.createSqlSession();
userList = sqlSession.getMapper(UserMapper.class).getUserList3(user3);//4
} catch (Exception e) {
e.printStackTrace();
}finally{
MyBatisUtil.closeSqlSession(sqlSession);
}
for(User user:userList){//9
logger.debug("UserMapperTest userCode---> " + user3.getUserCode()//5
+"and userName:"+user3.getUserName()//6
+"and userRoleName:"+user3.getUserRoleName());//7
}
}
1、2、3、4处的user是查询钱创建的查询时使用的类对象,5、6、7这里的user是9处创建的类对象,是用于接收查询结果的类对象
这里错在了将1-4和5-7的类对象名一致了,两处名字应该不一样
本文来自博客园,作者:{pere},转载请注明原文链接:{https://www.cnblogs.com/pere}
浙公网安备 33010602011771号