//1.获取连接池对象
DataSource dataSource = JDBCUtils.getDataSource();
//2.创建jdbcTemplate实例
JdbcTemplate template = new JdbcTemplate(dataSource);
//3.启动事务管理器(将conn和当前线程做绑定)
TransactionSynchronizationManager.initSynchronization();
//4.获取连接 : 获取JdbcTemplate所使用的连接对象
Connection conn = DataSourceUtils.getConnection(dataSource);
try {
//5.将连接的事务,设置为手动事务提交
conn.setAutoCommit(false);
//===== 业务处理
//=====
// 提交事务
conn.commit();
} catch (Exception e) {
e.printStackTrace();
// 事务回顾
try {
conn.rollback();
} catch (SQLException e1) {
e1.printStackTrace();
}
// 将异常抛给调用者,告知执行失败
throw e;
} finally {
// 将conn对象和当前线程解除绑定
TransactionSynchronizationManager.clearSynchronization();
// 修改为自动事务提交
try {
conn.setAutoCommit(true);
} catch (SQLException e) {
e.printStackTrace();
}
}