1.装配变量
private JdbcTemplate jdbcTemplate;
private DataSourceTransactionManager tran;
private TransactionStatus status;
/**
* 装配JdbcTemplate
* @param dynamicDataSource
* @return
*/
@Bean
public JdbcTemplate jdbcTemplate(DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
/**
* 装配事务管理器
* @param dynamicDataSource
* @return
*/
@Bean
public DataSourceTransactionManager transactionManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
2.开启事务
/**
* 开启事务
*/
public void beginTransaction(){
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
status = tran.getTransaction(def);
}
3.执行业务
jdbcTemplate.batchUpdate(sql, InsertUtil.getArgs(insertSqlData))
.......
4.结束事务
/**
* 结束事务
*/
public void endTransaction() {
try {
tran.commit(status);
} catch (Exception ex) {
tran.rollback(status);
}
}