关于用JAVA对MY SQL的InnoDB进行CUD操作时的问题.

这几天做的项目马上要Open了.

 

刚开始按照客户那里拿到的DB Scheme建立数据库.

表的类型都是myisam.

也没有对Transaction做配置.

 

直到这几天要在测试服务器(和Real环境一样)做测试时才发现.

insert,update,delete操作都不好使了.

原来测试服务器上的table类型都是InnoDB.

 

后来给Spring分配BO时加了Spring Transaction. 才解决这个问题.

 

Spring的Transaction配置我就知道2种. 其他还没研究.

第一种

 

这样只要BO的方法命名是以insert,delete,update,save,create开始的. Spring Transaction会自动分配一个Transaction的.

 

第二种是 Annotation的方法.

在javaBO方法中使用

@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED)

 

如果使用这种方法,灵活性高一些.

 

如果项目刚开始的时候代码规范中详细规定BO的方法名. 可以使用第一个方法.

如果项目业务逻辑复杂, 让维护者容易看到方法的意思,且想使用按照逻辑来取方法名字, 可以使用第二者..

 

在第二个方法中的annotation部分中 isolation这个后面的具体的值可以按照自己的需求来变更.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值