上一篇我们使用了JdbcTemplate,已经基本能看到相对于JDBC比较强大的能力,但是它有一个问题很不方便,就是使用参数的占位符时,必须得按照顺序来写参数,如果顺序不对,则操作失败,这里新提供的NamedParameterJdbcTemplate可以用来解决这个问题,它提供了一个方式,可以通过参数名来映射参数而不是传统的"?"。
首先配置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-a