jdbcTemplate查询返回对象或者集合时,官方没有完全封装,只是封装了部分,需要我们自己手动完成对象绑定,实现RowMapper接口即可,以下是示例代码:
/** * jdbc查询结构返回对象 * @throws Exception */ @Test public void testQueryForObject() throws Exception{ String sql = "select id,id_card,FAMILY_MEMBER_NAME from FAMILY_MEMBER fm where ID_CARD = ? "; String id = "620100199808066868"; FamilyMember familyMember = jdbcTemplate.queryForObject(sql, new Object[]{id}, new MyRowMapper()); System.out.println(familyMember); } /** * jdbc查询结构返回集合 * @throws Exception */ @Test public void testQueryForList() throws Exception{ String sql = "select id,id_card,FAMILY_MEMBER_NAME from FAMILY_MEMBER fm where FAMILY_MEMBER_NAME like ? "; String name = "%小红%"; List<FamilyMember> familyMemberList = jdbcTemplate.query(sql, new Object[]{name}, new MyRowMapper()); for (FamilyMember familyMember : familyMemberList) { System.out.println(familyMember); } } class MyRowMapper implements RowMapper<FamilyMember>{ @Override public FamilyMember mapRow(ResultSet resultSet, int i) throws SQLException { FamilyMember familyMember = new FamilyMember(); familyMember.setId(resultSet.getString(1)); familyMember.setIdCard(resultSet.getString(2)); familyMember.setFamilyMemberName(resultSet.getString(3)); return familyMember; } }