W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
將 ?ResultSet
?一行數(shù)據(jù)讀取出來并且轉(zhuǎn)換成對象的工作是 ?RowMapper
?來負(fù)責(zé)完成。
在 HasorDB 中一共內(nèi)置了三種 RowMapper,除此之外用戶可以自己所以擴展。
ColumnMapRowMapper
?將行轉(zhuǎn)換為 MapMappingRowMapper
?基于 ?對象映射
? 處理行數(shù)據(jù)。SingleColumnRowMapper
?只有當(dāng)查詢結(jié)果中包含一列數(shù)據(jù)的時候才可以使用。它會利用 ?TypeHandler
?機制讀取出這一列數(shù)據(jù)。使用 ?ColumnMapRowMapper
?
String querySql = "select * from test_user where age > 40";
RowMapper rowMapper = new ColumnMapRowMapper();
List<Map<String, Object>> result = jdbcTemplate.query(querySql, rowMapper);
下列是簡化形式
List<Map<String, Object>> result = jdbcTemplate.queryForList(querySql);
使用 ?MappingRowMapper
?
String querySql = "select * from test_user where age > 40";
RowMapper rowMapper = new MappingRowMapper<>(TestUser.class);
List<TestUser> result = jdbcTemplate.query(querySql, rowMapper);
下列是簡化形式
List<TestUser> result = jdbcTemplate.queryForList(querySql, TestUser.class);
使用? SingleColumnRowMapper
?
String querySql = "select name from test_user where age > 40";
RowMapper rowMapper = new SingleColumnRowMapper<>(String.class);
List<String> result = jdbcTemplate.query(querySql, rowMapper);
下列是簡化形式
List<String> result = jdbcTemplate.queryForList(querySql, String.class);
讀取一行數(shù)據(jù),并且只設(shè)置 ?age
?和 ?name
?
String queryString = "select * from test_user where age > 40";
RowMapper rowMapper = new RowMapper<TestUser>() {
public TestUser mapRow(ResultSet rs,int rowNum)throws SQLException{
TestUser testUser=new TestUser();
testUser.setAge(rs.getInt("age"));
testUser.setName(rs.getString("name"));
return testUser;
}
};
List<TestUser> mapList = jdbcTemplate.query(queryString, rowMapper);
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: