Excel导入数据库回滚

      业务需要下面场景:excel导入10条数据,其中前五条是正确的,第六条错误。要求:

停止导入,提示第六条错误,并撤销前五条操作(用户需要修改excel表格后重新导入)。


有两点注意的,第一,取列表的子列表。

JDK中,List接口有一个实例方法List<E> subList(int fromIndex, int toIndex),其作用是返回一个

以fromIndex为起始索引(包含),以toIndex为终止索引(不包含)的子列表(List)。 
但值得注意的是,返回的这个子列表的幕后其实还是原列表;也就是说,修改这个子列表,

将导致原列表也发生改变;反之亦然。 

List<Integer> sub = test.subList(13);       //sub list contains elements: 1, 2  


第二,批量删除。

<delete id="delMdevBindSdevByDevList" >
    delete from t_device_master_slave 
    where m_did in
    <foreach item="item" index="index" collection="devList" open="("
        separator="," close=")">
        #{item.did}
    </foreach>
</delete>
serviceImpl只需要传入要删除的集合devList即可。注意两个属性:collection写要删除的集合参数

item代表#{item}中的每一项。这里#{item.did}代表每一项的did字段。


展开阅读全文

没有更多推荐了,返回首页