- 浏览: 25883 次
- 性别:
- 来自: 长沙
文章分类
最新评论
NamedParameterJdbcTemplate 的使用;支持命名参数变量; org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
一、xml配置:
二、java代码:
一、xml配置:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 配置数据源 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> <!-- 参数读取文件 --> <context:property-placeholder location="jdbc.properties"/> <!-- 支持命名参数变量的JdbcTemplate,StudentDaoImpl中的参数使用变量名,相比原来的问好更加清晰 --> <bean id="namedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate"> <constructor-arg ref="dataSource"></constructor-arg> </bean> <!-- 数据库操作类 --> <bean id="studentDao" class="com.fx.dao.impl.StudentDaoImpl"> <property name="namedParameterJdbcTemplate" ref="namedParameterJdbcTemplate"></property> </bean> <!-- 业务操作类 --> <bean id="studentService" class="com.fx.service.impl.StudentServiceImpl"> <property name="studentDao" ref="studentDao"></property> </bean> </beans>
二、java代码:
package com.fx.dao.impl; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowCallbackHandler; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import com.fx.dao.StudentDao; import com.fx.model.Student; public class StudentDaoImpl implements StudentDao{ private NamedParameterJdbcTemplate namedParameterJdbcTemplate; public void setNamedParameterJdbcTemplate( NamedParameterJdbcTemplate namedParameterJdbcTemplate) { this.namedParameterJdbcTemplate = namedParameterJdbcTemplate; } @Override public int addStudent(Student student) { // 命名参数变量 String sql="insert into t_student values(null,:name,:age)"; MapSqlParameterSource sps=new MapSqlParameterSource(); sps.addValue("name", student.getName()); sps.addValue("age", student.getAge()); return namedParameterJdbcTemplate.update(sql,sps); } @Override public int updateStudent(Student student) { // 命名参数变量 String sql="update t_student set name=:name,age=:age where id=:id"; MapSqlParameterSource sps=new MapSqlParameterSource(); sps.addValue("name", student.getName()); sps.addValue("age", student.getAge()); sps.addValue("id", student.getId()); return namedParameterJdbcTemplate.update(sql,sps); } @Override public int deleteStudent(int id) { // 命名参数变量 String sql="delete from t_student where id=:id"; MapSqlParameterSource sps=new MapSqlParameterSource(); sps.addValue("id", id); return namedParameterJdbcTemplate.update(sql,sps); } @Override public List<Student> findStudents() { String sql="select * from t_student"; final List<Student> studentList=new ArrayList<Student>(); namedParameterJdbcTemplate.query(sql, new RowCallbackHandler(){ @Override public void processRow(ResultSet rs) throws SQLException { Student student=new Student(); student.setId(rs.getInt("id")); student.setName(rs.getString("name")); student.setAge(rs.getInt("age")); studentList.add(student); } }); return studentList; } }
- Spring12.zip (6 MB)
- 下载次数: 0
发表评论
-
第十五章 Spring4 整合 struts2、hibernate
2017-08-21 17:25 396这是spring4的最后一章,前面的学习都是做铺垫,这一章才是 ... -
第十四章 Spring4 切面事物与事物通知与传播行为
2017-08-21 10:07 467配置事务切面: <!-- 配置事务切面 ... -
第十三章 Spring4 编程式事物管理
2017-08-21 09:37 389事务是一系列的动作,它们综合在一起才是一个完整的工作单 ... -
第十一章 Spring4 JDBC
2017-08-18 14:08 258一,配置数据源 dbcp; <?xml ve ... -
第十章 Spring AOP之通知
2017-08-18 10:26 666AOP之通知: 通过配置spring,将通知切入在方法执行前 ... -
第九章 Spring4 AOP
2017-08-18 10:10 314AOP概念: 面向切面编程(也叫面向方面编程):Aspect ... -
第八章 Spring4 bean作用范围
2017-08-18 09:59 368<?xml version="1.0& ... -
第七章 Spring4 继承、依赖、引用
2017-08-18 09:48 363<?xml version="1.0& ... -
第六章 Spring4 方法替换
2017-08-17 10:12 319<?xml version="1.0& ... -
第五章 Spring4 自动装配、方法注入
2017-08-16 15:13 372Spring 自动装配: 通过配置 default-aut ... -
第四章 Spring4 注入参数
2017-08-16 14:48 342<?xml version="1. ... -
第三章 Spring4 依赖注入
2017-08-16 14:38 342第一节:装配一个 bean 第二节:依赖注入 IOC ... -
第二章 Spring4 IOC
2017-08-16 14:30 346第一节:spring ioc 简介 IOC(控制反转:In ... -
第一章 Spring4 简介及获取Bean
2017-08-16 14:08 373第一节:Spring4 简介 Spring是一个开源框架,S ...
相关推荐
- **命名参数JDBC**:Spring还支持命名参数的JDBC操作,提高了SQL语句的可读性和可维护性。 #### 7. 在Spring中使用Hibernate - **Hibernate集成**:Spring提供了对Hibernate的集成支持,包括SessionFactory的配置...
2.3.3. 对bean命名pointcut( bean name pointcut element)的支持 2.3.4. 对AspectJ装载时织入(AspectJ load-time weaving)的支持 2.4. 中间层 2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. 对Websphere ...
第12章 整合其他ORM框架 12.1 Spring整合ORM技术 12.2 在Spring中使用Hibernate 12.2.1 配置SessionFactory 12.2.2 使用HibernateTemplate 12.2.3 处理LOB类型数据 12.2.4 添加Hibernate事件监听器 12.2.5 使用原生...
13.8. Spring对分段文件上传(multipart file upload)的支持 13.8.1. 介绍 13.8.2. 使用MultipartResolver 13.8.3. 在表单中处理分段文件上传 13.9. 使用Spring的表单标签库 13.9.1. 配置标签库 13.9.2. form标签 ...
2.3.3. 对bean命名pointcut( bean name pointcut element)的支持 2.3.4. 对AspectJ装载时织入(AspectJ load-time weaving)的支持 2.4. 中间层 2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. 对Websphere ...
第12章 整合其他ORM框架 12.1 Spring整合ORM技术 12.2 在Spring中使用Hibernate 12.2.1 配置SessionFactory 12.2.2 使用HibernateTemplate 12.2.3 处理LOB类型数据 12.2.4 添加Hibernate事件监听器 12.2.5 使用原生...
### 十五、Spring对事务的支持 - **事务概述**:事务是一系列操作的集合,这些操作要么全部成功,要么全部失败。 - **Spring事务管理**:通过声明式事务管理和编程式事务管理两种方式实现。 综上所述,Spring框架...
- **NamedParameterJdbcTemplate**: 支持命名参数的SQL语句。 - **SimpleJdbcTemplate**: 提供更简单的JDBC操作方式。 通过以上介绍,我们可以看出JDBC是一个非常强大且灵活的API,能够满足大多数Java开发者在处理...
ade 中通过 Spring 的 JdbcTemplate 操作数据库。最后,EmployeeMgmt 应用通过 Servlet 和 JSP 页面为用户提供前端界面: 图 2. EmployeeMgmt Web 界面 该界面为传统的 HTML 页面,用户每次点击某个链接都需要...
对这个简单的应用,省略了 DAO,直接在 Façade 中通过 Spring 的 JdbcTemplate 操作数据库。最后,EmployeeMgmt 应用通过 Servlet 和 JSP 页面为用户提供前端界面: 图 2. EmployeeMgmt Web 界面 该界面为传统...