• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

JDBC查询多条记录,结果为null?

互联网 diligentman 2周前 (04-07) 11次浏览

JDBC查询多条记录,结果为null?解决办法

代码如下

@Test
public void testSelect(){
    Connection conn = null;
    try {
        conn = JDBCUtils.getConnection1();
        String sql = "SELECT p.firstname firstName,p.lastName lastName,a.city city,a.state state FROM person p LEFT JOIN address a ON p.`personid`=a.`personid`";
        QueryRunner runner = new QueryRunner();
        BeanListHandler<Person> person = new BeanListHandler<Person>(Person.class);
        List<Person> list = runner.query(conn, sql, person);
        list.forEach(System.out::println);

    }catch (Exception e){
        e.printStackTrace();
    }finally {
        JDBCUtils.closeResource(conn);
    }
}

导致问题出现的原因:

1.定义的封装类中缺少seter()方法

ResultHandler将数据传输到实体对象中时需要使用对应属性的seter()方法,缺少seter()方法就会导致数据传输失败而传回实体属性的默认值

2.SQL语句中的字段名和实体类中的属性名不一致

字段名和属性名不一致导致数据无法注入。


程序员灯塔
转载请注明原文链接:JDBC查询多条记录,结果为null?
喜欢 (0)