为什么Dao层查询到的数据不全啊

自己正在写的宿舍管理系统,写到宿舍楼的查询功能的时候,诡异的事情发生了。我查询到返回的DormBuild对象居然有一个属性是空的,其他属性都正常。

img
当我查询的时候

img

发现宿舍管理员这栏是空的,我检查了前端,发现前端没毛病。我在后端getUserId(),发现是null的,是后端的问题。

    @Test
    public void changeDorm() {
        DormBuild dormBuild=dormDao.searchDorm("7号楼");
        System.out.println(dormBuild.getUserId());
    }

img
相关代码如下
Dao层实现类

    @Override
    public DormBuild searchDorm(String dormName) {
        String sql = "select * from tb_dormbuild where name=?";
        return queryForOne(DormBuild.class,sql,dormName);
    }

    public<T>T  queryForOne(Class<T> type,String sql,Object ... args){
        Connection connection=JdbcUtils.getConnection();
        try {
            return queryRunner.query(connection,sql,new BeanHandler<T>(type),args);
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
            JdbcUtils.close(connection);
        }
        return null;
    }

没理由dormBuild对象只有宿舍楼管理员的属性是null,其他Name、Id都是有值的

你的类属性和数据库字段没对应上。
dormBuild类发出来。

我猜测你的数据库字段应该是user_id,然后类属性字段是userId,也有可能是你的实体类中没有写get、set方法