日期:2014-05-16  浏览次数:20473 次

Spring 命名参数操作类NamedParameterJdbcTemplate

?????????? 在传统的SQL语句中,参数都是用'?'占位符来表示的。NamedParameterJdbcTemplate类内部封装了一个普通的JdbcTemplate,并用作其代理来完成大部分工作,与JdbcTemplate唯一的不同就是命名参数。如下例所示:在SQL语句中使用了一个命名参数,使用带冒号的命名方式,然后创建一个同名的参数对象SimpleSqlParameterSource,执行查询时填写该变量即可:

?????????????????????? public String findUsername(String id){

??????????????????????????????????? String sql="select username from user where id=:id";

????????????????????????????????????NamedParameterJdbcTemplate template=new NamedParameterJdbcTemplate (dateSource);

???????????????????????????????????SqlParameterSource namedParameters=new SimpleSqlParameterSource("id",id);

????????????????????????????????????return (String)template.queryForObject(sql,namedParameters);?

}