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


    1.js:首先序列化表单然后将值传到后台

    2.Controller:

       获取前台传来的序列化表单,并转化为List集合:

      

    3.Service以及ServiceImpl层:

    4.Mybatis:

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

    批量插入:

     1  <insert id="insertBatch" parameterType="java.util.Map">
     2      insert into customs_declare_bill_detail(
     3      id,
     4      gno,
     5      relman_no,
     6      code_t,
     7      g_name,
     8      g_model,
     9      g_qty,
    10      g_unit,
    11      decl_total, 
    12      decl_curr, 
    13      decl_price, 
    14      exg_version, 
    15      goods_no,
    16      origin_country, 
    17      unit_1, 
    18      qty_1,
    19      unit_2,
    20      qty_2, 
    21      duty_mode,
    22      work_usd, 
    23      dest_country, 
    24      rtn_code,
    25      rtn_info,
    26      invalid, 
    27      bill_id, 
    28      main_factor,
    29      bill_no, 
    30      creator,
    31      create_time, 
    32      amender, 
    33      amend_time)
    34      values
    35      <foreach collection="list" item="item" index="index" separator=",">
    36         (
    37          #{item.id,jdbcType=BIGINT}, 
    38          #{item.gno,jdbcType=VARCHAR},
    39          #{item.relmanNo,jdbcType=VARCHAR}, 
    40          #{item.codeT,jdbcType=VARCHAR},
    41          #{item.gName,jdbcType=VARCHAR}, 
    42          #{item.gModel,jdbcType=VARCHAR}, 
    43          #{item.gQty,jdbcType=INTEGER}, 
    44          #{item.gUnit,jdbcType=VARCHAR},
    45          #{item.declTotal,jdbcType=DECIMAL}, 
    46          #{item.declCurr,jdbcType=VARCHAR}, 
    47          #{item.declPrice,jdbcType=DECIMAL}, 
    48          #{item.exgVersion,jdbcType=VARCHAR}, 
    49          #{item.goodsNo,jdbcType=VARCHAR}, 
    50          #{item.originCountry,jdbcType=VARCHAR},
    51          #{item.unit1,jdbcType=VARCHAR}, 
    52          #{item.qty1,jdbcType=DECIMAL},
    53          #{item.unit2,jdbcType=VARCHAR}, 
    54          #{item.qty2,jdbcType=DECIMAL}, 
    55          #{item.dutyMode,jdbcType=VARCHAR},
    56          #{item.workUsd,jdbcType=DECIMAL},
    57          #{item.destCountry,jdbcType=VARCHAR}, 
    58          #{item.rtnCode,jdbcType=VARCHAR}, 
    59          #{item.rtnInfo,jdbcType=VARCHAR}, 
    60          #{item.invalid,jdbcType=VARCHAR}, 
    61          #{item.billId,jdbcType=BIGINT},
    62          #{item.mainFactor,jdbcType=VARCHAR},
    63          #{item.billNo,jdbcType=VARCHAR}, 
    64          #{item.creator,jdbcType=INTEGER}, 
    65          #{item.createTime,jdbcType=TIMESTAMP},
    66          #{item.amender,jdbcType=INTEGER}, 
    67          #{item.amendTime,jdbcType=TIMESTAMP}
    68       )
    69      </foreach>
    70   </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>
    

      

      

  • 相关阅读:
    Spring常见面试题
    Mybatis常见面试题
    SQLSERVER查询整个数据库中某个特定值所在的表和字段的方法
    四款常见数据库比较同步软件汇总
    SQL Server常用函数整理
    比较经典的SQL面试题
    sqlserver查询数据库中有多少个表
    数据库设计三大范式
    MS SQL SERVER导出表结构到Excel
    flask-vue 解决跨域问题
  • 原文地址:https://www.cnblogs.com/jbml-154312/p/7458992.html
Copyright © 2020-2023  润新知