java ssh框架,在插入一条数据出错后怎么回滚所有数据

在做一个导入数据的功能,excel里面的数据一行是数据库表里的一条记录,后台是解析excel文件后,循环一条条的插入数据库,怎么能在数据插入的时候出现异常后回滚所有插入的... 在做一个导入数据的功能,excel里面的数据一行是数据库表里的一条记录,后台是解析excel文件后,循环一条条的插入数据库,怎么能在数据插入的时候出现异常后回滚所有插入的数据?大神帮忙解答下。 展开
 我来答
bzhuorui
推荐于2018-03-08 · 超过14用户采纳过TA的回答
知道答主
回答量:52
采纳率:100%
帮助的人:20.7万
展开全部
数据量不大的情况下,使用循环插入,最后全部通过才提交commint。这样,只要中间有出错,全部都会回滚。
如果数据量大,那就每次导入前,先创建一个临时表,先把数据插入到临时表中,catch到异常,就删除临时表。如果没有异常,把临时表中的数据插入到目标表。
秦莞尔奇啊不玩
推荐于2016-03-11 · 超过16用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:38.6万
展开全部
你既然是SSH框架,那肯定是用hibernate处理对象和关系数据库之间的阻抗的,肯定要用到事务,
try 这个事务的创建对数据库的操作以及事务的提交catch(Exception e){事务名.rollback();}就可以了。望采纳!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
panpanyeqing
2014-08-05
知道答主
回答量:10
采纳率:0%
帮助的人:7.5万
展开全部
如果你是用采用的注解方式的话,只要在service上加上@Transactional就会回滚了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
知善乃恶
2014-08-05
知道答主
回答量:11
采纳率:0%
帮助的人:10.1万
展开全部
ssh的话默认应该就是开启自动回滚的呀。用batch也行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式