亚洲精品久久久久久第一页-人妻少妇精彩视品一区二区三区-91国产自拍免费视频-免费一级a在线播放视频正片-少妇天天日天天射天天爽-国产大屁股喷水视频在线观看-操美女骚穴抽插性爱视频-亚洲 欧美 中文字幕 丝袜-成人免费无码片在线观看

vue的template用法 template標(biāo)簽是什么意思( 四 )


具名參數(shù):SQL 按名稱(以冒號(hào)開(kāi)頭)而不是按位置進(jìn)行指定,具名參數(shù)更易于維護(hù),,也提升了可讀性 。具名參數(shù)由框架類在運(yùn)行時(shí)用占位符取代,具名參數(shù)只在NamedParameterJdbcTemplate 中得到支持 。
NamedParameterJdbcTemplate類拓展了JdbcTemplate類,可以使用全部jdbcTemplate方法 。
NamedParameterJdbcTemplate主要提供以下三類方法:execute方法、query及queryForXXX方法、update及batchUpdate方法 。
NamedParameterJdbcTemplate可以使用DataSource或JdbcTemplate 對(duì)象作為構(gòu)造器參數(shù)初始化 。
常用API傳入?yún)?shù)類型介紹NamedParameterJdbcTemplate類為命名參數(shù)設(shè)值有兩種方式:java.util.Map 、RowMapper 和 SqlParameterSource 。
Map<String,?> paramMap就是一個(gè)hash表,好處是可以根據(jù)參數(shù)名傳參,paramMap.put(“sqlparamName”,value) 。
RowMapper rowMapper這個(gè)接口為了實(shí)現(xiàn)sql查詢結(jié)果和對(duì)象間的轉(zhuǎn)換,可以自己實(shí)現(xiàn),也可以使用系統(tǒng)實(shí)現(xiàn),主要實(shí)現(xiàn)類有:
SingleColumnRowMapper ,sql結(jié)果為一個(gè)單列的數(shù)據(jù),如List<String> , List<Integer>,String,Integer等BeanPropertyRowMapper, sql結(jié)果匹配到對(duì)象 List< XxxVO> , XxxVOSqlParameterSource其作用和Map一樣,就是為sql中的條件參數(shù)賦值,默認(rèn)實(shí)現(xiàn)有 :
MapSqlParameterSource實(shí)現(xiàn)非常簡(jiǎn)單,只是封裝了java.util.Map 。BeanPropertySqlParameterSource封裝了一個(gè)JavaBean對(duì)象,通過(guò)JavaBean對(duì)象屬性來(lái)決定命名參數(shù)的值 。EmptySqlParameterSource 一個(gè)空的SqlParameterSource ,常用來(lái)占位使用 。//BeanPropertySqlParameterSource傳參方式SqlParameterSource sps = new BeanPropertySqlParameterSource(javaBean);//MapSqlParameterSource傳參方式SqlParameterSource sps = new MapSqlParameterSource();//保證參數(shù)名和key相同sps.addValue("key",value);API介紹查詢返回單行單列數(shù)據(jù)
public < T > T queryForObject(String sql, Map<String, ?> paramMap, Class<T> requiredType)public < T > T queryForObject(String sql, SqlParameterSource paramSource, Class<T> requiredType)
Integer count = template.queryForObject("select count(*) from student", new HashMap<>(), Integer.class);String name = template.queryForObject( "select name from student where home_addresslimit 1 ", EmptySqlParameterSource.INSTANCE, String.class); 返回 (多行)單列 數(shù)據(jù)
public < T> List< T> queryForList(String sql, Map<String, ?> paramMap, Class< T > elementType)public < T> List< T> queryForList(String sql, SqlParameterSource paramSource, Class< T> elementType)
List< String> namelist = template.queryForList("select name from student", new HashMap<>(), String.class);返回單行數(shù)據(jù)
public < T> T queryForObject(String sql, Map< String, ?> paramMap, RowMapper< T>rowMapper)public < T> T queryForObject(String sql, SqlParameterSource paramSource, RowMapper< T> rowMapper)
Studentstu = template.queryForObject("select * from student limit 1", new HashMap<>(), new BeanPropertyRowMapper<Student>(Student.class));//BeanPropertyRowMapper會(huì)把下劃線轉(zhuǎn)化為駝峰屬性//結(jié)果對(duì)象可比實(shí)際返回字段多或者少注意:這兩個(gè)API也可以使用SingleColumnRowMapper返回單行單列數(shù)據(jù)
String name = template.queryForObject("select name from student limit 1", EmptySqlParameterSource.INSTANCE, new SingleColumnRowMapper<>(String.class));返回Map形式的單行數(shù)據(jù)
public Map< String, Object> queryForMap(String sql, Map< String, ?> paramMap)public Map< String, Object> queryForMap(String sql, SqlParameterSource paramSource)
Map< String, Object> studentMap = template.queryForMap("select * from student limit 1", new HashMap<>());注意:queryForMap這個(gè)方法要求結(jié)果必須是有數(shù)據(jù)的,否則會(huì)報(bào)錯(cuò) 。
返回多行數(shù)據(jù)
public < T> List< T> query(String sql, Map< String, ?> paramMap, RowMapper< T> rowMapper)public < T> List< T> query(String sql, SqlParameterSource paramSource, RowMapper< T> rowMapper)public < T> List< T> query(String sql, RowMapper< T> rowMapper)


以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問(wèn)題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!

「愛(ài)刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助: