jdbcTemplate和NamedParameterJdbcTemplate的小差异

jdbcTemplate和NamedParameterJdbcTemplate都是spring框架提供的访问数据库的方法。 jdbcTemplate是一个通用类,几乎可以在所有的场合使用; NamedParameterJdbcTemplate 提供了命名参数绑定的功能。

两个在spring的xml配置文件中,引入的方式不一样

<bean id=”jdbcTemplate” class =”org.springframework.jdbc.core.JdbcTemplate”p:dataSource-ref=”dataSource” /> <bean id=”namedParameterJdbcTemplate” class =”org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate” ><constructor-arg ref=”dataSource” />

其中,jdbcTemplate 是直接引入了数据源,,而namedParameterJdbcTemplate,是在构造函数中,引入了数据源。

用namedParameterJdbcTemplate实现命名参数绑定的源代码

package com.spring.jdbc;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource;import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;import org.springframework.jdbc.core.namedparam.SqlParameterSource;import org.springframework.stereotype.Service;/** * 利用spring的NamedParameterJdbcTemplate进行参数绑定 * * @author 范芳铭 */ @Service(“namedParameterService”){NamedParameterJdbcTemplate namedParameterJdbcTemplate;(FfmUser user){final String sql = “update ffm_user u set u.last_logon_time = :lastLogonTime ” +” where username =:username “;SqlParameterSource ss = new BeanPropertySqlParameterSource(user);int result = namedParameterJdbcTemplate.update(sql, ss);System.out.println(“数据更新完成:” + result);}(String[] args) {ApplicationContext ctx = new ClassPathXmlApplicationContext(“b_jdbc.xml”);EasyNamedParameterJdbc service = (EasyNamedParameterJdbc)ctx.getBean(“namedParameterService”);FfmUser user = new FfmUser();user.setUsername(“ffm”);user.setLastLogonTime(System.currentTimeMillis());service.updateLastLogonTime(user);}}

配套bean

package com.spring.jdbc;/** * NamedParameterJdbcTemplate进行参数绑定的bean * * @author 范芳铭 */ {private String username;private long lastLogonTime;private int charge;public String getUsername() {return username;}(String username) {this.username = username;}() {return lastLogonTime;}(long lastLogonTime) {this.lastLogonTime = lastLogonTime;}() {return charge;}(int charge) {this.charge = charge;}}

b_jdbc.xml配置

====”http://www.springframework.org/schema/task”xsi:schemaLocation=””>== “dataSource” class=”org.apache.commons.dbcp.BasicDataSource”destroy-method = “close”=”${jdbc.o2o.username}”p:password=”${jdbc.o2o.password}” />===>

活在当下,别在怀念过去或者憧憬未来中浪费掉你现在的生活。

jdbcTemplate和NamedParameterJdbcTemplate的小差异

相关文章:

你感兴趣的文章:

标签云: