说明数据库执行了一条SQL语句,没有事务控就spring就不会提交,update不成功是正常的,你的那个异常在没有spring事务的控制下是不影响sql执行的. 而且增删改本身就必须有事务,jdbc默认是自动提交事务,用了spring事务后由spring提交,配置了事务后,有没有事务对你都没影响,除非你不对数据库进行操作,如果不操作,你把方法名改了就好,如果要操作又想不用事务,那是不可能的.
你要怎么手动法
DAO层采用JdbcTemplate进行数据库操作.Service层调用DAO层方法.由于一个Service方法可能需要调用多个DAO对象的方法,需要在Service层进行事务控制.由于一些原因,需要采用编程式事务(现使用TransactionTemplate).可是存在一个问题:只有当创
在Spring的配置文件里,配置hibernateTemplate和jdbcTemplate的时候,让双方引入同一个dataSource,然后把这个dataSource放在同一个sessionFactory里面,然后让Spring的HibernateTransactionManager引入这个sessionFactory,这样不就是统一事务处理吗?不知道楼主的项目是如何配置的再看看别人怎么说的.
搜一下:SpringMVC3+Mybatis3+JDBCTemplate 请问为何事务不起作用
Service层调用DAO层方法.由于一个Service方法可能需要调用多个DAO对象的方法,需要在Service层进行事务控制.由于一些原因,需要采用编程式事务(现使用TransactionTemplate).可是存在一个问题:只有当创建TransactionTemplate
貌似不是这么配置的吧.PROPAGATION_REQUIRED,readOnlyPROPAGATION_REQUIRED,readOnlyPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDPROPAGATION_REQUIREDorg\.framework\.xxx\..*
在serice实现类上添加@Transactional,在spring的配置文件里添加 这样就可以了.
第一,一直不提交事务会导致对数据库资源的占用,结果就是系统无法运行 第二,除去了当前方法的事务,其他事务没有提交,检查其他方法中是否有重新启动事务,或者你本身除去的就是局部的事务,好好检查一下 希望能帮到你
Spring JdbcTemplate事务管理器内存泄漏问题,怎么解决<bean id="mysqlTransactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"><property name="transactionManager" ref="