自从学习了Java,发现天天都能遇见很难解决的难题,基本上一个就要半天时间,记录一下,免得再犯类似错误.
事务的原理我就不再赘述了,学过mysql的应该都知道.今天就springmvc的事务配置做详细解释.
1,在ApplicationContext.xml中如下配置:
2,在springmvc-servlet.xml中也要做一些修改,配置如下:
3,配置完,就可以在服务实现层添加注解了,关键点如下
我的是在BorrowServiceImpl.java文件中,在类前面和想要回滚的方法前面加上注解@Transactional,如果出现红线,点击一下import class即可.
4.controller层代码并没有什么特殊的,按照使用事务之前的就可以,没有额外的代码.
controller代码也写完了,我满心欢喜的去测试,跑了接口,刷新数据库,Borrow表中竟然还是新增了数据,真是好无语,难道@Transactional不起作用?查了好多方法,也都按照上面的修改了代码,发现都不起作用,有的甚至代码都跑不通了.即便这样也不能放弃,再小的公司也是需要事务管理的!
无意中搜到,MySQL存储引擎要为innodb!!!幡然醒悟,只有InnoDB支持事务的啊,我之前一直是MyISAM,所以才无论怎么配置都不起作用。
希望我的经历能帮助你,不要放弃学习java哟。











网友评论