- JdbcTemplate 配置
<?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:p="http://www.springframework.org/schema/p" 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/context http://www.springframework.org/schema/context/spring-context-4.2.xsd"> <context:component-scan base-package="com.spring"></context:component-scan> <!-- 1,引入外部contextSchema命名空间; 2,导入外部配置文件 --> <context:property-placeholder location="classpath:./jdbc.properties" /> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="${jdbc.driverClassName}" /> <property name="jdbcUrl" value="${jdbc.url}" /> <property name="user" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <!-- 创建spring jdbcTemplate --> <bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate"> <property name="dataSource" ref="dataSource"></property> </bean> </beans>
dataSource properties文件
jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.username=admin jdbc.password=admin jdbc.url=jdbc:mysql://localhost:3306/springtest
Repository类
@Repository public class StudentRepository implements BasicRepository<Student> { @Autowired JdbcTemplate jdbcTemplate; public int save(Student t) { String sql = "insert into student values(null,?,?)"; Object[] params = new Object[]{t.getName(),t.getAge()}; return jdbcTemplate.update(sql,params); } public int update(Student t) { String sql = "update student set name=?,age=? where id=?"; Object[] params = new Object[]{t.getName(),t.getAge(),t.getId()}; return jdbcTemplate.update(sql,params); } public int delete(int id) { String sql = "delete from student where id=?"; Object[] params = new Object[]{id}; return jdbcTemplate.update(sql,params); } public List<Student> findAll() { String sql = "select * from student"; final List<Student> studentList = new ArrayList<Student>(); jdbcTemplate.query(sql, new RowCallbackHandler(){ 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; } }
这样JdbcTemplate配置就ok了。
NamedParameterJdbcTemplate配置
<?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:p="http://www.springframework.org/schema/p" 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/context http://www.springframework.org/schema/context/spring-context-4.2.xsd"> <context:component-scan base-package="com.spring"></context:component-scan> <!-- 1,引入外部contextSchema命名空间; 2,导入外部配置文件 --> <context:property-placeholder location="classpath:./jdbc.properties" /> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="${jdbc.driverClassName}" /> <property name="jdbcUrl" value="${jdbc.url}" /> <property name="user" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </bean> <!-- 创建spring NamedParameter JdbcTemplate --> <bean class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate" id="namedParameterJdbcTemplate"> <constructor-arg name="dataSource" ref="dataSource"/> </bean> </beans>
Repository类:
@Repository("studentRepository") public class StudentRepositoryByNamed implements BasicRepository<Student>{ @Autowired NamedParameterJdbcTemplate namedParameterJdbcTemplate; public int save(Student t) { String sql = "insert into student values(null,:name,:age)"; MapSqlParameterSource sps = new MapSqlParameterSource(); sps.addValue("name", t.getName()); sps.addValue("age", t.getAge()); return namedParameterJdbcTemplate.update(sql,sps); } public int update(Student t) { String sql = "update student set name=:name,age=:age where id=:id"; MapSqlParameterSource sps = new MapSqlParameterSource(); sps.addValue("name",t.getName()); sps.addValue("age", t.getAge()); sps.addValue("id", t.getId()); return namedParameterJdbcTemplate.update(sql,sps); } public int delete(int id) { String sql = "delete from student where id=:id"; MapSqlParameterSource sps = new MapSqlParameterSource(); sps.addValue("id", id); return namedParameterJdbcTemplate.update(sql,sps); } public Student getStudent(int id){ String sql = "select * from student where id=:id"; MapSqlParameterSource sps = new MapSqlParameterSource(); sps.addValue("id",id); final Student student = new Student(); namedParameterJdbcTemplate.query(sql, sps,new RowCallbackHandler(){ public void processRow(ResultSet rs) throws SQLException { student.setId(rs.getInt("id")); student.setName(rs.getString("name")); student.setAge(rs.getInt("age")); } }); return student; } public List<Student> findAll() { String sql = "select * from student"; final List<Student> studentList = new ArrayList<Student>(); namedParameterJdbcTemplate.query(sql, new RowCallbackHandler(){ 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; } }
相关推荐
NULL 博文链接:https://shareisattitude.iteye.com/blog/2221135
Spring:JdbcTemplate使用指南 Spring:JdbcTemplate使用指南
Spring JDBC Batch更新示例 Example application describes how to perform batch operation with spring JdbcTemplate class.#技术堆栈。 1. Spring核心jdbc模块。 2. H2嵌入式数据库。 3. Gradle构建脚本。 4....
简单的jdbcTemplate预编译、回调等
11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.2.9. 获取...
JdbcDaoSupport、使用 NamedParameterJdbcTemplate、Spring 的声明式事务、事务的属性(传播行为、隔离级别、回滚属性、只读属性、过期时间)、使用 XML 文件的方式配置事务、整合 Hibernate、整合 Struts2 等。
namedParameterJdbcTemplate = new NamedParameterJdbcTemplate(jdbcTemplate.getDataSource()); //初始化pagingSqlBuilder pagingSqlBuilder = new PagingSqlBuilder(((ComboPooledDataSource) ...
视频详细讲解,需要的小伙伴自行百度网盘下载,链接见附件...n 高级应用-NamedParameterJdbcTemplate的使用 n 源码分析-TransactionTemplate n 源码分析-DataSourceUtils n 源码分析-TransactionSynchronizationManager
NamedParameterJdbcTemplate的用法
11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.3. 控制数据库连接...
11.5.1 NamedParameterJDBCTemplate 11.5.2 SimpleJDBCTemplate 11.6 以OO方式访问数据库 11.6.1 使用MappingSqlQuery查询数据 11.6.2 使用SqlUpdate更新数据 11.6.3 使用StoredProcedure执行存储过程 11.6.4 Sql...
NULL 博文链接:https://huibin.iteye.com/blog/618316
11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.3. 控制...
11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.3. 控制...
11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5. SQLExceptionTranslator接口 11.2.6. 执行SQL语句 11.2.7. 执行查询 11.2.8. 更新数据库 11.2.9. 获取...
11.5.1 NamedParameterJDBCTemplate 11.5.2 SimpleJDBCTemplate 11.6 以OO方式访问数据库 11.6.1 使用MappingSqlQuery查询数据 11.6.2 使用SqlUpdate更新数据 11.6.3 使用StoredProcedure执行存储过程 11.6.4 Sql...
可以将其视为一种类型安全和可表达SQL DSL(域特定语言),并支持呈现针对MyBatis3和Spring的NamedParameterJDBCTemplate正确格式化SQL。 该库还包含Kotlin扩展,这些扩展为SQL启用了惯用的Kotlin DSL。 该库将生成...
NamedParameterJdbcTemplate NamedParameterUtils NameMatchMethodPointcut NameMatchMethodPointcutAdvisor NameMatchTransactionAttributeSource NamespaceHandler NamespaceHandlerResolver ...
3. New Features and Enhancements in Spring Framework 4.0 ............................................ 17 3.1. Improved Getting Started Experience .........................................................
Bootiful SQL模板是org.springframework.jdbc.core.JdbcTemplate和org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate的简单包装,提供了以下扩展名。 流利的API 读取SQL模板文件(普通SQL文件...