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>
  • 相关阅读:
    C# 多线程Thread.IsBackground=True的作用
    JS 判断用户设备 移动端或桌面端
    VSCode 代码格式化 快捷键
    PHP 根据 IP 获取定位数据
    C# 将文本写入到文件
    C# 读取文件内容
    PHP 美化输出数组
    VSCode 设置 Tab 空格
    custom post types 404 Page Error
    [已解决] wordpress 修改 permalink 后 页面 404 问题
  • 原文地址:https://www.cnblogs.com/wdzhz/p/11263146.html
Copyright © 2011-2022 走看看