在使用spring框架的时候如果在xml配置里面把autocommit关掉用jdbcTemplate.update就不能提交数据了?

如题,我再在使用spring框架的时候,在xml配置里面写<propertyname="defaultAutoCommit"value="false"/>然后用jdbcT... 如题,我再在使用spring框架的时候,在xml配置里面写<property name="defaultAutoCommit" value="false" />然后用jdbcTemplate.update(psc),就不能提交数据了?难道还要我手动加commit?那么怎么进行事务管理啊?
那么如果我用transaction注释来做事务管理需要关掉autocommit吗?
展开
 我来答
百度网友82c535c
推荐于2017-12-16 · TA获得超过595个赞
知道小有建树答主
回答量:521
采纳率:0%
帮助的人:461万
展开全部
defaultAutoCommit 的意思是你如果没有使用事物来控制点的话,他会自动提交(一条语句执行就会提交)

比如:在一个service的save方法中
public void save(){
dao.save1(); 执行完save1后会自动提交。如果你使用了事物控制,那么会在这个方法都执行完后提交的
dao.save2();
}
换句话就是说就算你不配置事物,数据也会保存到数据库中的,应为spring默认的是defaultAutoCommit自动提交
理解不?
追问
大概理解了,也就是说如果配置了事务的话,就跟defaultAutoCommit 的设置无关了对吗?

顺便再教教我吧,比如说在service里面两个save方法,如果是
@Transaction
public void save1(){...}
@Transaction
public void save2(){...}
然后一个方法当中同时调用了save1和save2这是两个事务还是一个啊?
追答
肯定是两个事务了。
事务的控制一般都是在service的,service表示的就是业务逻辑的操作!
顺当还善良丶彩虹L
2014-04-23 · 超过16用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:28.1万
展开全部
这样可能不太规范 可以后期还是会出现问题的
不管你是用标签,还是用注释 commit只能放在DAO层里面就可以了 (sql语句不出DAO)
如果说你要用标签的话你可以把commint 放到标签类中 标签调用 或者是 直接把commit 直接写在增删改查类中的方法中insert update delete select 之后 jdbcTemplate.conmit (调用那边的commit方法)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式