1.
Connection conn;
try {
conn = jdbcTemplate.getDataSource().getConnection();//获取连接
Date creationDate = new Date();
financeBean.setCreatedBy(userId);
financeBean.setCreationDate(creationDate);
financeBean.setIsDel("0");
financeBean.setFinanceNo(commonNoService.getNo(UtilTool.getTableNameFull("FINANCE"), financeBean.getOrgid()));
financeDao.save(financeBean);
conn.commit();//提交事务
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
result.put("id", financeBean.getId());
result.put("userName", financeBean.getCreatedBy());
result.put(Constant.SUCC, Boolean.TRUE);
上面是修改之后的代码,本来之前我是直接基于注解来设置自动提交的(@Transactional),但是这样看来spring的注解属于声明式事务管理,它同编程式事务管理的不足之处在于它只能作用到方法级别,无法做到像编程式事务那样可以作用到代码块级别。