关于SSH框架插入N条数据
有一个Excel文件,要读取里面的每一条记录,有很多条,并把记录保存到数据库中。
应该在Action中直接调用service保存还是在service中保存。
事务边界在service
如果在Action中保存,每次都要开启一个事务,是不是会影响效率?但是在service中的话要是有一条出现问题就全部回滚了,不知该如何处理,有什么好的解决方案吗
------解决方案--------------------楼主是不是没搞明白事物呀。
直接在action中就可以了,每次开启一个事物不会太影响效率。
------解决方案--------------------不是应该一起commit 吗,如果出现错误就rollback
------解决方案--------------------
你的数据都是互不影响的当然是调用service进行保存,service作为事务管理的边界里面的同一个service同一个方法内的事务是相同的,不同的service或不同的方法事务是互不影响的。楼主的要求肯定是要调用service进行保存,你在同一个service的同一个方法内进行保存,一个错误肯定是要回滚的
------解决方案--------------------更新当然在services中更新了. 如果数据量太大的话,你可以批量向services中传递参数, 而不是一次全部把数据都放入services中,如果更新失败的话,要把这个失败记录写到日志了,更新完成后把错误日志结果显示出来,再把错误的根据错误提示修改后重新导入一遍就可以了.