zoukankan      html  css  js  c++  java
  • MySQL---Mybatis 批处理(增,改,删)

    一,增

    MyBatis的批量插入

    首先在Mapper层中定义如下方法:

    1 int addStudentBatch(@Param("students") List<Student> students);

    然后在对应的XML文件中写入如下语句:

     1 <insert id="addStudentBatch">
     2   insert into
     3   student(name,class)
     4   values
     5   <foreach collection ="students" item="student" index= "index" separator =",">
     6     (
     7     #{student.name},
     8     #{student.class}
     9     )
    10   </foreach >
    11 
    12 </insert>

    注意:Collection中的名字与mapper中的参数名相对应,item与类名相对应.

     二,改

    MyBatis的批量修改

    首先在Mapper层中定义如下方法:

    1  int updateDeviceAlarmDataById(Map<String,Object> map);

    然后在对应的XML文件中写入如下语句: 

     1 <update id="updateDeviceAlarmDataById" parameterType="java.util.Map">
     2         <!-- 接收list参数,循环着组装sql语句,注意for循环的写法
     3              separator=";" 代表着每次循环完,在sql后面放一个分号
     4              item="cus" 循环List的每条的结果集
     5              collection="list" list 即为 map传过来的参数key -->
     6         <foreach collection="list" separator=";" item="cus">
     7             update alarm_condition_device
     8             <set>
     9                 <if test="cus.deviceId != null">
    10                     device_id = #{cus.deviceId,jdbcType=VARCHAR},
    11                 </if>
    12                 <if test="cus.alarmConditionId != null">
    13                     alarm_condition_Id = #{cus.alarmConditionId,jdbcType=VARCHAR},
    14                 </if>
    15                 <if test="cus.isProcess != null">
    16                     is_process = #{cus.isProcess,jdbcType=TINYINT},
    17                 </if>
    18                 <if test="cus.isDel != null">
    19                     is_del = #{cus.isDel,jdbcType=TINYINT}
    20                 </if>
    21             </set>
    22             where id = #{cus.id,jdbcType=VARCHAR}
    23         </foreach>
    24     </update>

    二,删

    MyBatis的批量删除

    首先在Mapper层中定义如下方法:

    1 int deleteAudioAudioFiles(@Param("ids") List<String> ids);

    然后在对应的XML文件中写入如下语句: 

    1 <delete id="deleteAudioAudioFiles" parameterType="java.lang.String">
    2     delete from
    3     agms_verify
    4     where id in
    5     <foreach collection="ids" item="id" open="(" separator="," close=")">
    6       #{id,jdbcType=VARCHAR}
    7     </foreach>
    8   </delete>
  • 相关阅读:
    LINQ表达式预备讲课
    开发中必须安装的软件
    jquery判断单选按钮radio是否选中的方法
    JQuery判断radio(单选框)是否选中和获取选中值方法总结
    jquery $.each 和for怎么跳出循环终止本次循环
    ECharts 3.0 初学感想及学习中遇到的瓶颈
    js 日期时间大小比较
    Vue资料-简介-旋之华
    vue 引用 vue-resource步骤 (遇错排解)
    vue-resource和axios的简单使用方法总结
  • 原文地址:https://www.cnblogs.com/wdzhz/p/11263146.html
Copyright © 2011-2022 走看看