永发信息网

java 操作oracle为什么需要setAutoCommit

答案:6  悬赏:80  手机版
解决时间 2021-03-19 23:27
如题

如果我不需要使用事务操作呢?在循环里连续的进行插入操作,是不是为了数据库的读写效率?
最佳答案
不是为了效率

比如说你循环里连续的进行插入操,如果你在开始时设置了:conn.setAutoCommit(false);
在最后才进行conn.commit(),这样你即使插入的时候报错,修改的内容也不会提交到数据库,而如果你没有手动的进行setAutoCommit(false);
出错时就会造成,前几条插入,后几条没有
会形成脏数据~~

setAutoCommit总的来说就是保持数据的完整性
全部回答
设置事务是否自动提交,自动提交的时候你不好控制什么时候提交,什么时候已经提交了,需要程序员显试的提交。
为了打开事务. 这样可以提交也可以回滚. 打开事务就是setAutoCommit参数有true和false.打开事务就是选择false.这样的好处在于数据库操作出错的时候可以选择回滚,不至于出现数据不一致的情况. 提交就是commit 回滚就是rollback
conn.setAutoCommit(false); [delete... insert... update.. ....] conn.commit(); []中的所有操作数据库的语句作为一个整体,同生共死。 如果conn.setAutoCommit(true)的话,你打个断点看一看,做完一个比方说deltete在数据库表里面就会反应出来,而为false时要等到都做完才能反映出来。
在 oracle 操作中 增删改操作 是要提交事务的 比如 insert ********* 这条语句要执行成功添加到oracle数据库中分两步 第一步 执行这条语句 第二部 事务提交 而setAutoCommit这样一来 就不需要编程人员在操作 事务会自动提交 我们只关心语句执行就可以了
给你举个例子,比如你的这个提问 标题叫:java 操作oracle为什么需要setAutoCommit 内容是: 如题 假设百度的存储方式是标题存到一个表里,内容存到一个表里,并将内容和标题关联上 当删除问题的时候,要将问题和标题都删除,要分两个步骤,先删一个再删一个,假设先删除内容,再删标题,当删除内容的时候成功了,但删除标题的时候数据库出现异常,没删成功,如果你没弄到一个事务里来,那情况就是: 只有标题,内容没了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
脾胃不好的人忌吃什么
马自达的两年免息到底是什么意思
众泰管厂工资待遇咋样?
老赛水暖在哪里啊,我有事要去这个地方
温州嘉乐迪ktv包厢费
请教我家鹩哥转喉半年了。为什么吗。还不会说
2019国家公务员报名网站在哪里?
爱尚烤肉怎么去啊,有知道地址的么
股东的剩余财产怎样分配
基金提前赎回会加收手续费或违约金吗
做饭时锅盖上的气流水能吃吗
鸡跑进灵堂是吉是凶
女生尖奶怎么办?
胃镜活检后多久可以吸烟,多久伤口能愈合
泰安大红船酒店管理有限公司这个地址在什么地
推荐资讯
求推荐固态硬盘 240g的 价格每个在500左右的
小何食品店在什么地方啊,我要过去处理事情
怎样测试孩子的智商
两股红绳手链编织,请问这两种是什么结?
彩票刮刮乐中的兼中兼得什么意思啊?求详细解
查下叫做张维东的这个名字好不好
不可挽回的东西很多,譬如对一个人的感觉
伊春市交通运输局乌马河分局我想知道这个在什
公务员打人应受到怎样的处罚
甲午丙子乙已的八字命硬克制妻吗
你拨打的电话正在通话中一会暂时无法接通怎么
打不开cl图片,能进去网站,但是打不开图片啊
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?