首页 > 代码库 > (转)Spring的编程式事务例子
(转)Spring的编程式事务例子
纯JDBC操作, 对某些项目来说, 也许更好, Spring JDBC Framework让你不用关心Connection, Statement, ResultSet.定义数据源spring事务编程的例子<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">spring事务编程的例子 <property name="jndiName">spring事务编程的例子 <value>java:/comp/env/jdbc/oracle</value>spring事务编程的例子 </property>spring事务编程的例子</bean>定义事务管理器<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /></bean>定义daospring事务编程的例子<bean id="customerDAO" class="com.waterye.dao.impl.CustomerDAOImpl">spring事务编程的例子 <property name="dataSource" ref="dataSource" />spring事务编程的例子 <property name="transactionManager" ref="transactionManager" />spring事务编程的例子</bean>public class CustomerDaoImpl extends JdbcDaoSupport implements CustomerDAO { private DataSource dataSource; pirvate TransactionManager transactionManager; public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; } public void setTransactionManager(DataSourceTransactionManager transactionManager) { this.transactionManager = transactionManager; } public Map get(Integer id) throws Exception { String querySql = "select * from customer where id = ?"; return getJdbcTemplate().queryForMap(querySql, new Object[] { id }); } public void insert(final Map customer) throws Exception { String seqSql = "select customer_seql.nextval from dual"; String insertSql = "insert into customer (id, code, name, status) values (?, ?, ?, ?)"; TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager); transactionTemplate.execute(new TransactionCallbackWithoutResult() { protected void doInTransactionWithoutResult(TransactionStatus status) { JdbcTemplate jdbcTemplate = getJdbcTemplate(); int id = jdbcTemplate.queryForInt(seqSql); Object[] params = new Object[] { new Integer(id), customer.get("code"), customer.get("name"), map.get("status") }; jdbcTemplate.update(insertSql, params); } } } public void update(final Map customer) throws Exception { // } public void delete(Integer id) throws Exception { String deleteSql = "delete from customer where id = ?"; TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager); transactionTemplate.execute(new TransactionCallbackWithoutResult() { protected void doInTransactionWithoutResult(TransactionStatus status) { getJdbcTemplate().update(deleteSql, new Object[] { id }); } } } public List findValidCustomers() throws Exception { String querySql = "select * from customer where status = ‘valid‘ order by code"; return getJdbcTemplate().query(querySql, new OracleColumnMapRowMapper()); }}
(转)Spring的编程式事务例子
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。