Spring之JdbcTemplate实现封装
2015-07-22 17:09
218 查看
首先配置config.xml
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost:3306/mytest1</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value>123</value> </property> </bean> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource"> <ref bean="dataSource"/> </property> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"> <ref bean = "dataSource"/> </property> </bean> <bean id="helloDao" class="com.gc.action.HelloDao"> <property name="jdbcTemplate"> <ref bean="jdbcTemplate"/> </property> <property name="transactionManager"> <ref bean = "transactionManager"/> </property> <property name="sql"> <value>insert into tb1 values(101,'gf','nihao')</value> </property> </bean>再是实现的helloDao类
package com.gc.action; import javax.sql.DataSource; import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.TransactionStatus; import org.springframework.transaction.support.DefaultTransactionDefinition; import org.springframework.transaction.support.TransactionCallback; import org.springframework.transaction.support.TransactionTemplate; public class HelloDao { //private DataSource dataSource; private JdbcTemplate jdbcTemplate; private PlatformTransactionManager transactionManager; private String sql; public void setSql(String sql) { this.sql = sql; } public void setJdbcTemplate(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } public void setTransactionManager(PlatformTransactionManager transactionManager) { this.transactionManager = transactionManager; } public void create(String name){ DefaultTransactionDefinition def = new DefaultTransactionDefinition(); TransactionStatus status = transactionManager.getTransaction(def); try { jdbcTemplate.update(this.sql); } catch (DataAccessException ex) { transactionManager.rollback(status); throw ex; }finally{ transactionManager.commit(status); } System.out.println("*************************"); } }最后测试类:
package com.gc.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; import com.gc.action.HelloDao; import com.gc.impl.FinanceInterface; import com.gc.impl.TimeBookInterface; public class testExample { public static void main(String[] args) throws InstantiationException,IllegalAccessException, ClassNotFoundException{ String path = "D:\\tianWorkPlace\\5_2\\WebContent\\config.xml"; ApplicationContext actx = new FileSystemXmlApplicationContext(path); // FinanceInterface financeProxy = (FinanceInterface) actx.getBean("logProxy"); // financeProxy.doCheck("李四"); HelloDao hello = (HelloDao) actx.getBean("helloDao"); //timeBookProxy.doCheck("zhang San"); hello.create("zhang san"); } }
相关文章推荐
- Myeclipse的优化方法
- 你的程序支持复杂的时间调度嘛?如约而来的 java 版本
- Java字符串简单用法
- spring mvc Controller中使用@Value无法获取属性值
- java 获取工程部署的路径
- 算法(第四版)学习笔记之java实现插入排序
- Spring事务配置的5中方式
- Java InputStream层次分析
- 创建eclipse和androidstudio同时支持的android项目
- JAVA矩阵包JAMA学习
- java_加密解密
- 用Java实现二叉树
- Java获取最近一周的时间
- 自己跑通的一个SpringMVC配合Hibernate的demo,写下来,免得以后再跳坑
- java 中字符拼接学习心得
- spring 事务回滚
- Spring(一)Spring相关概念理解及环境搭建
- 深入浅出Java模式设计之模板方法模式
- Java RMI之HelloWorld程序以及相关的安全管理器的知识
- 【Java】假设你正在读取一串整数,每隔一段时间,你希望找出数字X的秩(小于或等于x的值的数目)。