<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.xinwei.order.dao.OrderAlarmTblMapper" >
  <resultMap id="BaseResultMap" type="com.xinwei.order.entity.OrderAlarmTbl" >
    <id column="id" property="id" jdbcType="BIGINT" />
    <result column="alarm_id" property="alarmId" jdbcType="VARCHAR" />
    <result column="data_id" property="dataId" jdbcType="VARCHAR" />
    <result column="device_name" property="deviceName" jdbcType="VARCHAR" />
    <result column="device_id" property="deviceId" jdbcType="VARCHAR" />
    <result column="alarm_topic" property="alarmTopic" jdbcType="VARCHAR" />
    <result column="level" property="level" jdbcType="VARCHAR" />
    <result column="order_status" property="orderStatus" jdbcType="VARCHAR" />
    <result column="cost_time" property="costTime" jdbcType="VARCHAR" />
    <result column="proc_inst_id" property="procInstId" jdbcType="VARCHAR" />
    <result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
     <result column="alarm_type" property="alarmType" jdbcType="VARCHAR" />
    <result column="alarm_location" property="alarmLocation" jdbcType="VARCHAR" />
    <result column="ext" property="ext" jdbcType="VARCHAR" />
    <result column="suspend_reason" property="suspendReason" jdbcType="VARCHAR" />
  </resultMap>
 
      <delete id="deleteById" parameterType="java.lang.Long" >
        delete from order_alarm_tbl
        where id = #{id,jdbcType=BIGINT}
      </delete>
      
        <delete id="deleteAll">
        delete from order_alarm_tbl
      </delete>
      
        <delete id="deleteByAlarmId" parameterType="java.lang.String" >
        delete from order_alarm_tbl
        where alarm_id = #{alarmId,jdbcType=VARCHAR}
      </delete>
 
      <insert id="insert" parameterType="com.xinwei.order.entity.OrderAlarmTbl" >
        insert into order_alarm_tbl (id, alarm_id, data_id,
          device_name, device_id, alarm_topic, alarm_type, alarm_location,
          level, order_status, cost_time,
          proc_inst_id, create_time, ext,suspend_reason
          )
        values (#{id,jdbcType=BIGINT}, #{alarmId,jdbcType=VARCHAR}, #{dataId,jdbcType=VARCHAR},
          #{deviceName,jdbcType=VARCHAR}, #{deviceId,jdbcType=VARCHAR}, #{alarmTopic,jdbcType=VARCHAR},
          #{alarmType,jdbcType=VARCHAR}, #{alarmLocation,jdbcType=VARCHAR},  
          #{level,jdbcType=VARCHAR}, #{orderStatus,jdbcType=VARCHAR}, #{costTime,jdbcType=VARCHAR},
          #{procInstId,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{ext,jdbcType=VARCHAR}, #{suspendReason,jdbcType=VARCHAR}
          )
      </insert>
 
     <insert id="insertByBatch" parameterType="java.util.List">
        insert into order_alarm_tbl (id,alarm_id, data_id,
      device_name, device_id, alarm_topic, alarm_type, alarm_location,
      level, order_status, cost_time,
      proc_inst_id, create_time, ext,suspend_reason
      )
        values
        <foreach collection="list" item="item" index="index" separator=",">
         ( #{item.id,jdbcType=BIGINT},#{item.alarmId,jdbcType=VARCHAR}, #{item.dataId,jdbcType=VARCHAR},
      #{item.deviceName,jdbcType=VARCHAR}, #{item.deviceId,jdbcType=VARCHAR}, #{item.alarmTopic,jdbcType=VARCHAR},
      #{item.alarmType,jdbcType=VARCHAR}, #{item.alarmLocation,jdbcType=VARCHAR},  
      #{item.level,jdbcType=VARCHAR}, #{item.orderStatus,jdbcType=VARCHAR}, #{item.costTime,jdbcType=VARCHAR},
      #{item.procInstId,jdbcType=VARCHAR}, #{item.createTime,jdbcType=TIMESTAMP}, #{item.ext,jdbcType=VARCHAR}, #{item.suspendReason,jdbcType=VARCHAR}
      )
        </foreach>
    </insert>
 
  <update id="updateByPrimaryKey" parameterType="com.xinwei.order.entity.OrderAlarmTbl" >
    update order_alarm_tbl
    set alarm_id = #{alarmId,jdbcType=VARCHAR},
    data_id = #{dataId,jdbcType=VARCHAR},
    device_name = #{deviceName,jdbcType=VARCHAR},
    device_id = #{deviceId,jdbcType=VARCHAR},
    alarm_topic = #{alarmTopic,jdbcType=VARCHAR},
    alarm_type = #{alarmType,jdbcType=VARCHAR},
    alarm_location = #{alarmLocation,jdbcType=VARCHAR},
    level = #{level,jdbcType=VARCHAR},
    order_status = #{orderStatus,jdbcType=VARCHAR},
    cost_time = #{costTime,jdbcType=VARCHAR},
    proc_inst_id = #{procInstId,jdbcType=VARCHAR},
    create_time = #{createTime,jdbcType=TIMESTAMP},
    ext = #{ext,jdbcType=VARCHAR},
    suspend_reason = #{suspendReason,jdbcType=VARCHAR}
    where id = #{id,jdbcType=VARCHAR}
  </update>
 
    <update id="updateOrderStatusByDataId" parameterType="com.xinwei.order.entity.OrderAlarmTbl" >
    update order_alarm_tbl
    set order_status = #{orderStatus,jdbcType=VARCHAR}
    where data_id = #{dataId,jdbcType=VARCHAR}
  </update>
 
   <update id="updateSuspendReasonByDataId" parameterType="com.xinwei.order.entity.OrderAlarmTbl" >
    update order_alarm_tbl
    set suspend_reason = #{suspendReason,jdbcType=VARCHAR}
    where data_id = #{dataId,jdbcType=VARCHAR}
  </update>
 
   <update id="updateSuspendReasonByProcessInstId" parameterType="com.xinwei.order.entity.OrderAlarmTbl" >
    update order_alarm_tbl
    set suspend_reason = #{suspendReason,jdbcType=VARCHAR}
    where proc_inst_id = #{procInstId,jdbcType=VARCHAR}
  </update>
 
  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
    select id, alarm_id, data_id, device_name, device_id, alarm_topic,alarm_type, alarm_location, level, order_status,
    cost_time, proc_inst_id, create_time, ext,suspend_reason
    from order_alarm_tbl
    where id = #{id,jdbcType=BIGINT}
  </select>
 
    <select id="getByDataId" resultMap="BaseResultMap" parameterType="java.lang.Long" >
    select id, alarm_id, data_id, device_name, device_id, alarm_topic,alarm_type, alarm_location, level, order_status,
    cost_time, proc_inst_id, create_time, ext,suspend_reason
    from order_alarm_tbl
    where data_id = #{dataId,jdbcType=VARCHAR}
  </select>
 
    <select id="getByAlarmId" resultMap="BaseResultMap" parameterType="java.lang.String" >
    select id, alarm_id, data_id, device_name, device_id, alarm_topic,alarm_type, alarm_location, level, order_status,
    cost_time, proc_inst_id, create_time, ext,suspend_reason
    from order_alarm_tbl
    where alarm_id = #{alarmId,jdbcType=VARCHAR}
  </select>
 
   <select id="getById" resultMap="BaseResultMap" parameterType="java.lang.Long" >
    select id, alarm_id, data_id, device_name, device_id, alarm_topic,alarm_type, alarm_location, level, order_status,
    cost_time, proc_inst_id, create_time, ext,suspend_reason
    from order_alarm_tbl
    where id = #{id,jdbcType=BIGINT}
  </select>
 
  <select id="countMyApplyByCondition" resultType="java.lang.Long" >
    select count(1)
   from order_alarm_tbl
    where 1=1 <include refid="queryString" />
  </select>
 
   <select id="selectMyApplyByCondition" resultMap="BaseResultMap" >
 select id, alarm_id, data_id, device_name, device_id, alarm_topic,alarm_type, alarm_location,  level, order_status,
    cost_time, proc_inst_id, create_time, ext,suspend_reason
    from order_alarm_tbl
    WHERE 1=1
    <include refid="queryString" />
    limit #{startRow},#{pageSize}
  </select>

<select id="countAll" resultType="java.lang.Long" >
    SELECT COUNT(*)
    from order_alarm_tbl
   </select>

<select id="getAll" resultMap="BaseResultMap" >
    select id, alarm_id, data_id, device_name, device_id, alarm_topic, alarm_type, alarm_location, level, order_status,
    cost_time, proc_inst_id, create_time, ext,suspend_reason
    from order_alarm_tbl
    limit #{startRow},#{pageSize}
  </select>
 
    <select id="selectAll" resultMap="BaseResultMap" >
    select id, alarm_id, data_id, device_name, device_id, alarm_topic, alarm_type, alarm_location, level, order_status,
    cost_time, proc_inst_id, create_time, ext,suspend_reason
    from order_alarm_tbl
    order by create_time desc
  </select>
 
   <select id="selectAllAlarmType" resultType="java.lang.String" >
  SELECT DISTINCT alarm_type
    FROM order_alarm_tbl
  </select>
 
  <select id="getSuspendTask" resultMap="BaseResultMap" >
   SELECT * FROM order_alarm_tbl WHERE suspend_reason IS NOT null
    order by create_time desc
  </select>
 
  <select id="countByCondition" resultType="java.lang.Long" >
    SELECT COUNT(*)
      from order_alarm_tbl
      where 1=1
    <include refid="queryString" />
   </select>
   
    <select id="getByCondition" resultMap="BaseResultMap" parameterType="java.lang.String" >
    select id, alarm_id, data_id, device_name, device_id, alarm_topic,alarm_type, alarm_location,  level, order_status,
    cost_time, proc_inst_id, create_time, ext,suspend_reason
    from order_alarm_tbl
    WHERE 1=1
    <include refid="queryString" />
    limit #{startRow},#{pageSize}
  </select>
 
     <select id="countExportByCondition" resultType="java.lang.Long" >
    SELECT COUNT(*)
      from order_alarm_tbl
      where 1=1
    <include refid="queryString" />
   </select>
 
    <select id="exportByCondition" resultMap="BaseResultMap" parameterType="java.lang.String" >
     select id, alarm_id, data_id, device_name, device_id, alarm_topic,alarm_type, alarm_location, level, order_status,
    cost_time, proc_inst_id, create_time, ext,suspend_reason
    from order_alarm_tbl
    WHERE 1=1
    <include refid="queryString" />
  </select>
 
    <select id="selectProcInstIdByCondition" resultType="java.lang.String" >
    select proc_inst_id
    from order_alarm_tbl
    where 1=1 <include refid="queryString" />
  </select>
 
    <select id="countTAToDoListByCondition" resultType="java.lang.Long" >
    SELECT COUNT(*)
      from order_alarm_tbl
      where 1=1
    <include refid="queryTAToDoListByCondition" />
   </select>
   
    <select id="getTAToDoListByCondition" resultMap="BaseResultMap" parameterType="java.lang.String" >
    select id, alarm_id, data_id, device_name, device_id, alarm_topic, alarm_type, alarm_location, level, order_status,
    cost_time, proc_inst_id, create_time, ext,suspend_reason
    from order_alarm_tbl
    WHERE 1=1
    <include refid="queryTAToDoListByCondition" />
    limit #{startRow},#{pageSize}
  </select>
 
 
    <select id="getTAToDoListByConditionNoPage" resultMap="BaseResultMap" parameterType="java.lang.String" >
    select id, alarm_id, data_id, device_name, device_id, alarm_topic, alarm_type, alarm_location, level, order_status,
    cost_time, proc_inst_id, create_time, ext,suspend_reason
    from order_alarm_tbl
    WHERE 1=1
    <include refid="queryTAToDoListByCondition" />
  </select>

<sql id="queryTAToDoListByCondition">
    
      <if test="alarmType != null and alarmType !=''">
     and alarm_type = #{alarmType,jdbcType=VARCHAR}
    </if>
    
      <if test="alarmLocation != null and alarmLocation !=''">
     and alarm_location = #{alarmLocation,jdbcType=VARCHAR}
    </if>
    
     <if test="level != null and level !=''">
     and level = #{level,jdbcType=VARCHAR}
    </if>
    
     <if test="alarmId != null and alarmId !=''">
     and alarm_id = #{alarmId,jdbcType=VARCHAR}
    </if>
    
    <if test="deviceId != null and deviceId !=''">
     and device_id = #{deviceId,jdbcType=VARCHAR}
    </if>
    
    <if test="alarmTopic != null and alarmTopic !=''">
     and alarm_topic LIKE '%${alarmTopic}%'
    </if>

</sql>
 
  <sql id="queryString">
     <if test="alarmId != null and alarmId !=''">
     and alarm_id = #{alarmId,jdbcType=VARCHAR}
    </if>
    
    <if test="deviceId != null and deviceId !=''">
     and device_id = #{deviceId,jdbcType=VARCHAR}
    </if>
    
    <if test="alarmTopic != null and alarmTopic !=''">
     and alarm_topic LIKE '%${alarmTopic}%'
    </if>
    
     <if test="startTime != null and endTime != null">
        and DATE_FORMAT(create_time,'%m-%d-%Y')
           between DATE_FORMAT(#{startTime,jdbcType=VARCHAR},'%m-%d-%Y')
           and DATE_FORMAT(#{endTime,jdbcType=VARCHAR},'%m-%d-%Y')
    </if>
 </sql>
</mapper>

mybatis batchinsert的更多相关文章

  1. MyBatis6:MyBatis集成Spring事物管理(下篇)

    前言 前一篇文章<MyBatis5:MyBatis集成Spring事物管理(上篇)>复习了MyBatis的基本使用以及使用Spring管理MyBatis的事物的做法,本文的目的是在这个的基 ...

  2. MyBatis_ibatis和mybatis的区别【转】

    1. ibatis3.*版本以后正式改名为mybaits,它也从apache转到了google code下:也就是说ibatis2.*,mybatis3.*. 2. 映射文件的不同 ibatis的配置 ...

  3. 基于Oracle的Mybatis 批量插入

    项目中会遇到这样的情况,一次性要插入多条数据到数据库中,有两种插入方法: 方法一: Mybatis本身只支持逐条插入,比较笨的方法,就是遍历一个List,循环中逐条插入,比如下面这段代码 for(Da ...

  4. MyBatis6:MyBatis集成Spring事务管理(下篇)

    前言 前一篇文章<MyBatis5:MyBatis集成Spring事务管理(上篇)>复习了MyBatis的基本使用以及使用Spring管理MyBatis的事务的做法,本文的目的是在这个的基 ...

  5. MyBatis(6):MyBatis集成Spring事务管理(下)

    前一篇文章复习了MyBatis的基本使用以及使用Spring管理MyBatis的事务的做法,本文的目的是在这个的基础上稍微做一点点的进阶:多数据的事务处理.文章内容主要包含两方面: 1.单表多数据的事 ...

  6. mybatis批量update(mysql)

    Mapper文件中的写法 <insert id="batchUpdateTjData"> <foreach collection="list" ...

  7. MyBatis浅尝笔记

    MyBatis应属于一种轻量级的java持久层技术,它通过简单的SQL xml或注解,将数据库数据映射到接口与POJO.最近项目要用到mybatis,所以学习之后在这里做个总结,文中的示例以xml配置 ...

  8. mybatis 自动生成代码(mybatis generator)

    pom.xml 文件配置 引入 mybatis generator <properties> <mysql.connector.version>5.1.44</mysql ...

  9. mybatis mysql 批量插入

    场景描述: 使用mybatis操作mysql数据库,进行批量插入数据,提高代码质量和执行效率. 环境: mybatis spring mysql java xml配置文件 <insert id ...

随机推荐

  1. [development][dpdk][pktgen] 网卡收发包性能测试-详细数据

    三层包测试 发包方式:192.168.20.205 发包工具:pktgen 发包网卡:i350 收包设备:1922.168.20.185 CPU:Intel(R) Xeon(R) CPU E5-262 ...

  2. [dev][https] 非PFS协商的https的流量的解码

    经过基础调研之后,目前准备确认实现方案,完成对https的解码. 之前的调研,传送门: http://www.cnblogs.com/hugetong/p/6670083.html 1. 需求: 以旁 ...

  3. day3_元组

    元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 一.创建元组 1.普通创建 实例1: >> ...

  4. LeetCode 944 Delete Columns to Make Sorted 解题报告

    题目要求 We are given an array A of N lowercase letter strings, all of the same length. Now, we may choo ...

  5. HashMap如何解决取Value值为Null

    场景: 用HashMap方法时候,取Keys时候自认为敲的肯定是准确无误,然后能得到对应的Values 值.  但写脚本代码时候不好习惯,没事总喜欢敲个空格建,导致取Keys之后多空格. Featur ...

  6. 【pyqtgraph绘图】安装pyqtgraph

    解读官方API-安装 安装 参考:http://www.pyqtgraph.org/documentation/installation.html 根据您的需要,有许多不同的方式来安装pyqtgrap ...

  7. mysql 查询优化杂谈

    一.把某些判断移动到应用层 我们需要在一张表里面删除某种类型的数据,大概的表结构类似这样: CREATE TABLE t ( id INT, tp ENUM ("t1", &quo ...

  8. 【JMeter】JMeter如何输出测试报告

    环境要求 1:jmeter3.0版本之后开始支持动态生成测试报表 2:jdk版本1.7以上 3:需要jmx脚本文件 基本操作 1:在你的脚本文件路径下,执行cmd命令:jmeter -n -t tes ...

  9. dxCameraControl控件(拍照)

    拍照演示 主要属性设置 Active:True DeviceIndex:设备号,默认为0 其他方法 procedure Capture; //捕获 procedure Pause; //暂停 proc ...

  10. 自动化工具之三:pywinauto

    Python自动化工具:pywinauto 一.pywinauto的安装 (1)安装命令 pip install -U pywinauto/pip3 install -U pywinauto (2)验 ...