Spring JDBC学习笔记(2):JdbcTemplate的增强版NamedParameterJdbcTemplate
2016-03-30 23:19
447 查看
上一篇我们使用了JdbcTemplate,已经基本能看到相对于JDBC比较强大的能力,但是它有一个问题很不方便,就是使用参数的占位符时,必须得按照顺序来写参数,如果顺序不对,则操作失败,这里新提供的NamedParameterJdbcTemplate可以用来解决这个问题,它提供了一个方式,可以通过参数名来映射参数而不是传统的"?"。
首先配置bean,如下所示:
NamedParameterJdbcTemplate有两个构造函数,配置分别如下:
使用DataSource初始化:
使用JdbcTemplate初始化,如果看源码可以知道实际上是通过JdbcOperations的实例来初始化的,它是JdbcTemplate的接口:
测试代码如下:
在使用具名参数时,通过:来标明一个参数,然后通过Map来完成参数的配置。
SqlParameterSource是专门用来为NamedParameterJdbcTemplate提供参数的,通过它的一个实现类BeanPropertySqlParameterSource来提供JavaBean类的属性作为参数。
相关文章:
Spring JdbcTemplate 具名参数使用简介
首先配置bean,如下所示:
NamedParameterJdbcTemplate有两个构造函数,配置分别如下:
使用DataSource初始化:
<bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate"> <constructor-arg ref="dataSource"></constructor-arg> </bean>
使用JdbcTemplate初始化,如果看源码可以知道实际上是通过JdbcOperations的实例来初始化的,它是JdbcTemplate的接口:
<bean id="namedParameterJdbcTemplate1" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate"> <constructor-arg ref="jdbcTemplate"></constructor-arg> </bean>
测试代码如下:
在使用具名参数时,通过:来标明一个参数,然后通过Map来完成参数的配置。
String sql = "insert into user(username, address, age) values(:name, :address, :age)"; Map<String,Object> paramMap = new HashMap(); paramMap.put("name", "openwrt"); paramMap.put("address", "am"); paramMap.put("age", 34); namedParameterJdbcTemplate.update(sql, paramMap);通过NamedParameterJdbcTemplate也可以直接操作一个对象,如下所示:
String sql = "insert into user(username, address, age) values(:name, :address, :age)"; User user = new User(); user.setName("ssl"); user.setAddress("bm"); user.setAge(45); SqlParameterSource source = new BeanPropertySqlParameterSource(user); namedParameterJdbcTemplate.update(sql, source);使用时参数名称要和类的字段名相一致,如果不一致也会报错。
SqlParameterSource是专门用来为NamedParameterJdbcTemplate提供参数的,通过它的一个实现类BeanPropertySqlParameterSource来提供JavaBean类的属性作为参数。
相关文章:
Spring JdbcTemplate 具名参数使用简介
相关文章推荐
- jdbc中的Statement和PreparedStatement接口对象
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- Spring Boot 开发微服务
- Spring整合Quartz(JobDetailBean方式)
- Spring整合Quartz(JobDetailBean方式)
- JDBC 数据库常用连接 链接字符串
- 模拟Spring的简单实现
- JDBC连接Access数据库的几种方式介绍
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- springmvc 发送ajax出现中文乱码的解决方法汇总
- JDBC程序更新数据库中记录的方法
- SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
- struts2 spring整合fieldError问题
- spring的jdbctemplate的crud的基类dao
- JDBC 程序的常见错误及调试方法
- 读取spring配置文件的方法(spring读取资源文件)