Spring JDBC【命名参数JDBC模板】【1.注入属性Template】【2.继承Support】
2013-12-17 11:54
615 查看
1.【注入方式】
Dao实现类【持有】NamedParameterJdbcTemplate
配置文件
2.继承【NamedParameterJdbcDaoSupport】方式 与 继承【JdbcDaoSupport】类似。
Dao实现类【持有】NamedParameterJdbcTemplate
/** * 客户Dao实现类 */ public class CustomerDaoImpl implements CustomerDao{ private NamedParameterJdbcTemplate npjt; // 持有对象 //插入 public void saveCustomer(Customer c) { String sql = "insert into customers(name,age) values(:name,:age)"; Map<String, Object> paramMap = new HashMap<String, Object>(); paramMap.put("name", c.getName()); paramMap.put("age", c.getAge()); npjt.update(sql, paramMap); } //... }
配置文件
<!-- Spring 的 【命名参数】jdbc 模板 --> <bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate"> <constructor-arg name="dataSource" ref="c3p0DataSource"/> </bean> <!-- Dao实现类 --> <bean id="customerDao" class="jdbc.CustomerDaoImpl"> <property name="npjt" ref="namedParameterJdbcTemplate"/> </bean>
2.继承【NamedParameterJdbcDaoSupport】方式 与 继承【JdbcDaoSupport】类似。
/** * 客户Dao实现类 */ public class CustomerDaoImpl extends NamedParameterJdbcDaoSupport implements CustomerDao{ //插入 public void saveCustomer(Customer c) { String sql = "insert into customers(name,age) values(:name,:age)"; Map<String, Object> paramMap = new HashMap<String, Object>(); paramMap.put("name", c.getName()); paramMap.put("age", c.getAge()); getNamedParameterJdbcTemplate().update(sql, paramMap); } //.... }
<!-- Dao实现类 【继承】【NamedParameterJdbcDaoSupport】后,配置【dataSource】即可 --> <bean id="customerDaoSupport" class="jdbc.CustomerDaoImpl"> <!-- 将【数据源】【注入】到【基类的dataSource】即可 --> <property name="dataSource" ref="c3p0DataSource"/> </bean>
相关文章推荐
- Spring学习-25:Spring中的JDBC Template(JDBC模板):设置参数到属性文件
- Spring JDBC 【继承JdbcDaoSupport】
- 模板与继承之艺术——命名模板参数
- 关于DAO实现类继承JdbcDaoSupport类后,使用注解无法注入DataSource的问题
- Spring+NamedParameterJdbcTemplate+NamedParameterJdbcDaoSupport+JDBC 命名参数支持
- 重写JdbcRDD支持Sql命名参数和分区
- 关于Scala子类继承父类属性的问题释疑---子类构造器参数不要与父类属性同名
- 通过继承来实现注解方式的属性注入
- js模块,类,继承,命名空间,私有属性等相关概念梳理
- Spring JdbcDaoSupport的注入问题JdbcTemple
- VSTS有Bug,分析数据库的维度和维度属性使用中文命名时候,作为报表参数会出错。虽然有解决办法但是头大。
- Nontype Class Template Parameters(非类型类模板参数)
- c++ template笔记(3)非类型模板参数nontype template parameters
- 项模板选择器属性(ItemTemplateSelector属性)和样式选择器(ItemContainerStyleSelector)
- C#学习笔记(五)中级 方法的重载,参数,继承和多态,异常处理,命名空间,接口,泛型
- 继承“JdbcDaoSupport”后,报“The hierarchy of the type AccoutDaoImpl is inconsistent”的解决方案
- c++ 模板--解决继承类参数传递
- StringTemplate.Net 学习笔记(10):模板组继承及模板组接口
- C#集合篇,在业务背景下(***产品升级管理):依赖注入,变量声明,三元表达式,常用字符串相关操作方法,ADO.NET,EF机制,T4模板自动生成实体类,ref变量巧用,属性实际运用,唯一性验证