spring中的编程性事务
?在 insert()方法中使用了DataSourceTransactionManager来进行事务管理,如果发生了异常,则catch区块中会进行事务的Rollback,在insert() 方法中故意写入错误的SQL(注意INSERT方法少写了一个T),因此实际上数据并不会被储存至数据库中。
要使用MySQL数据库进行事务处理,必须建立支持事务的表格类型,例如InnoDB的表格类型,这里用来建立表格的SQL如下所示:
?如果发生了异常,则会进行Rollback,否则提交事务,如果没有回传值,则也可以使用TransactionCallbackWithoutResult:
?
transactionTemplate.execute( new TransactionCallbackWithoutResult() { public void doInTransactionWithoutResult( TransactionStatus status) { . ... } });原文地址:http://developer.51cto.com/art/200906/127430.htm
?