queryRunner.query()查询结果为空

问题描述:

SQL语句:sql="select * from users where u_Id=? or u_name=? or u_code=?;";
queryRunner.query(sql,new BeanHandler<Users>(Users.class),user.getID(),user.getName(),user.getCode);
新增的数据查询的返回都是null;

尝试的方法:

1、查询之前将user.setID(0)

2、将id和code的位置互换

3、现在将SQL语句改成了and方式还是查询不到结果

代码:

    public Users selectUser(Users user) {
        System.out.println("************" );
        System.out.println(user);
        StringBuilder sql = new StringBuilder( "select * from users where 1=1" );
        List list = new ArrayList(  );
        if (user.getUId()!=null){
            sql.append(" and u_id=?");
            list.add(user.getUId());
        }
        if (user.getUName()!=null||user.getUName()!=""){
            sql.append(" and u_name=?");
            list.add(user.getUName());
        }
        if (user.getUCode()!=null||user.getUCode()!=""){
            sql.append(" and u_code=?");
            list.add(user.getUCode());
        }
        System.out.println( sql.toString());
        try {
            Users result= queryRunner.query(sql.toString(),new BeanHandler<Users>(Users.class),list.toArray());
            System.out.println(result );
            return result;
        } catch (SQLException throwables) {
            throwables.printStackTrace( );
        }
        return null;
    }

返回的结果:

jar包版本:

 

 

你将代码的sql语句在数据库直接执行看看能不能查出数据

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m

问题已查到,是因为mapper.xml中resultMap的返回值与数据库查询结果的值没有对应上