在使用MyBatis框架使用传入类对象进行查询是出现查出结果为null的问题

问题:

UserMapperTest类代码如下:

@Test
     public void testGetUserList1() {
         List 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 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的类对象名一致了,两处名字应该不一样

你可能感兴趣的:(在使用MyBatis框架使用传入类对象进行查询是出现查出结果为null的问题)