99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

HasorDB SqlParameterSource(使用接口形式給動(dòng)態(tài)SQL傳參)

2022-01-10 10:03 更新

?SqlParameterSource?是通過(guò)接口形式給動(dòng)態(tài) SQL 傳參數(shù),功效和 ?數(shù)組/Map? 傳參類(lèi)似,不同的是編程性更強(qiáng)。

HasorDB 內(nèi)置了兩個(gè)實(shí)現(xiàn),分別為:

  • ?MapSqlParameterSource ?將一個(gè) Map 轉(zhuǎn)換為 ?SqlParameterSource ?接口
  • ?BeanSqlParameterSource ?將一個(gè) Bean 轉(zhuǎn)換為 ?SqlParameterSource ?接口

下面用相同的功效列舉不同的查詢寫(xiě)法

使用數(shù)組傳參?

String querySql = "select * from test_user where age > ?";
Object[] queryArg = new Object[] { 40 };
List<Map<String, Object>> result = jdbcTemplate.queryForList(querySql, queryArg);

使用Map傳參?

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 傳參?

使用 ?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? 可以使用下面這個(gè)方法

List<TestUser> result = jdbcTemplate.queryForList(querySql, source, TestUser.class);

使用 BeanSqlParameterSource 傳參?

使用 ?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? 可以使用下面這個(gè)方法

List<TestUser> result = jdbcTemplate.queryForList(querySql, source, TestUser.class);


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)