W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
?SqlParameterSource
?是通過接口形式給動態(tài) SQL 傳參數(shù),功效和 ?數(shù)組/Map
? 傳參類似,不同的是編程性更強(qiáng)。
HasorDB 內(nèi)置了兩個實(shí)現(xiàn),分別為:
MapSqlParameterSource
?將一個 Map 轉(zhuǎn)換為 ?SqlParameterSource
?接口BeanSqlParameterSource
?將一個 Bean 轉(zhuǎn)換為 ?SqlParameterSource
?接口下面用相同的功效列舉不同的查詢寫法
String querySql = "select * from test_user where age > ?";
Object[] queryArg = new Object[] { 40 };
List<Map<String, Object>> result = jdbcTemplate.queryForList(querySql, queryArg);
String querySql = "select * from test_user where age > :age";
Map<String, Object> queryArg = Collections.singletonMap("age", 40);
List<Map<String, Object>> result = jdbcTemplate.queryForList(querySql, queryArg);
使用 ?MapSqlParameterSource
? 傳參,返回值為 ?List/Map
?
String querySql = "select * from test_user where age > :age";
Map<String, Object> queryArg = Collections.singletonMap("age", 40);
SqlParameterSource source = new MapSqlParameterSource(queryArg);
List<Map<String, Object>> result = jdbcTemplate.queryForList(querySql, source);
如果返回值希望是 ?List/DTO
? 可以使用下面這個方法
List<TestUser> result = jdbcTemplate.queryForList(querySql, source, TestUser.class);
使用 ?BeanSqlParameterSource
? 傳參,返回值為 ?List/Map
?
String querySql = "select * from test_user where age > :age";
TestUser argDTO = new TestUser();
argDTO.setAge(40);
BeanSqlParameterSource source = new BeanSqlParameterSource(argDTO);
List<Map<String, Object>> result = jdbcTemplate.queryForList(querySql, source);
如果返回值希望是 ?List/DTO
? 可以使用下面這個方法
List<TestUser> result = jdbcTemplate.queryForList(querySql, source, TestUser.class);
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: