Mybatis实现批量插入与批量删除案例

1.js:首先序列化表单然后将值传到后台
本图片来自网络

2.Controller:

获取前台传来的序列化表单,并转化为List集合:
本图片来自网络

3.Service以及ServiceImpl层:
本图片来自网络

4.Mybatis:

字段以及数据库类型一定要对应

批量插入:

<insert id="insertBatch" parameterType="java.util.Map">
     insert into customs_declare_bill_detail(
     id,
     gno,
     relman_no,
     code_t,
     g_name,
     g_model,
     g_qty,
     g_unit,
     decl_total, 
     decl_curr, 
     decl_price, 
     exg_version, 
     goods_no,
     origin_country, 
     unit_1, 
     qty_1,
     unit_2,
     qty_2, 
     duty_mode,
     work_usd, 
     dest_country, 
     rtn_code,
     rtn_info,
     invalid, 
     bill_id, 
     main_factor,
     bill_no, 
     creator,
     create_time, 
     amender, 
     amend_time)
     values
     <foreach collection="list" item="item" index="index" separator=",">
        (
         #{item.id,jdbcType=BIGINT}, 
         #{item.gno,jdbcType=VARCHAR},
         #{item.relmanNo,jdbcType=VARCHAR}, 
         #{item.codeT,jdbcType=VARCHAR},
         #{item.gName,jdbcType=VARCHAR}, 
         #{item.gModel,jdbcType=VARCHAR}, 
         #{item.gQty,jdbcType=INTEGER}, 
         #{item.gUnit,jdbcType=VARCHAR},
         #{item.declTotal,jdbcType=DECIMAL}, 
         #{item.declCurr,jdbcType=VARCHAR}, 
         #{item.declPrice,jdbcType=DECIMAL}, 
         #{item.exgVersion,jdbcType=VARCHAR}, 
         #{item.goodsNo,jdbcType=VARCHAR}, 
         #{item.originCountry,jdbcType=VARCHAR},
         #{item.unit1,jdbcType=VARCHAR}, 
         #{item.qty1,jdbcType=DECIMAL},
         #{item.unit2,jdbcType=VARCHAR}, 
         #{item.qty2,jdbcType=DECIMAL}, 
         #{item.dutyMode,jdbcType=VARCHAR},
         #{item.workUsd,jdbcType=DECIMAL},
         #{item.destCountry,jdbcType=VARCHAR}, 
         #{item.rtnCode,jdbcType=VARCHAR}, 
         #{item.rtnInfo,jdbcType=VARCHAR}, 
         #{item.invalid,jdbcType=VARCHAR}, 
         #{item.billId,jdbcType=BIGINT},
         #{item.mainFactor,jdbcType=VARCHAR},
         #{item.billNo,jdbcType=VARCHAR}, 
         #{item.creator,jdbcType=INTEGER}, 
         #{item.createTime,jdbcType=TIMESTAMP},
         #{item.amender,jdbcType=INTEGER}, 
         #{item.amendTime,jdbcType=TIMESTAMP}
      )
     </foreach>
</insert>

2.批量删除:

<delete id="deleteById" parameterType="java.lang.String"> 
        delete from customs_declare_bill_detail where id in  
            <foreach item="item" index="index" collection="array" open="(" separator="," close=")"> 
            #{item} 
         </foreach> 
</delete>

 上一篇
Mybatis条件查询没有结果,程序不继续执行的原因及解决方案 Mybatis条件查询没有结果,程序不继续执行的原因及解决方案
之前做条件查询的时候,遇到一个问题,如果查询条件数据库能查到,dataTable就给我返回数据,但如果查不到,程序就不执行了,为此也拜读了许多,但是没有搜索结果,有一个的他的事实体类中添加了构造方法后面去掉就解决了,但是我的不是,找了N久,
2019-01-20
下一篇 
.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ipact\.\upload\*.txt问题及解决方案 .metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ipact\.\upload\*.txt问题及解决方案
这是没有设置路径,所以eclipse将默认路径到了eclipse自带的Tomcat下面 解决方式: tomcat有项目的先remove掉,双击tomcat,旁边有一个Server Locations 这里有三种可以选择: 1.使用eclip
2019-01-20
  目录