• MyBatis单一和批量操作数据库SQL


    1. 单条插入
    
    <insert id="insert" parameterType="Model">
        insert into T_A (UID, PROJECT_ID, USERPROJ_RELATE_ID,
          PROJECT_STATUS, type,PERMISSION_FLAG)
        values (#{uid,jdbcType=VARCHAR}, #{projectId,jdbcType=VARCHAR}, #{userprojRelateId,jdbcType=VARCHAR},
          #{projectStatus,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR}, #{permissionFlag,jdbcType=VARCHAR})
      </insert>
    
    2. 批量插入
    
    
      <insert id="insertRelateList" parameterType="java.util.List" >
        insert into T_A(UID, PROJECT_ID, USERPROJ_RELATE_ID,
          PROJECT_STATUS, type,PERMISSION_FLAG)
        values 
        <foreach  collection="list" item="item" index="index" separator=",">
        (#{item.uid,jdbcType=VARCHAR}, #{item.projectId,jdbcType=VARCHAR}, #{item.userprojRelateId,jdbcType=VARCHAR},
          #{item.projectStatus,jdbcType=VARCHAR}, #{item.type,jdbcType=VARCHAR}, #{item.permissionFlag,jdbcType=VARCHAR})
          </foreach>
      </insert>
    
    
    3.单条删除
    
    <delete id="delete" parameterType="Model">
       delete from T_A where uid=#{uid} and project_id=#{projectId}
      </delete>
    
    
    4.批量删除
    
    <delete id="deleteRelateList" parameterType="java.util.List">
       delete from T_A where project_id in
       <foreach item="item" index="index" collection="list" open="(" separator="," close=")">
                 #{item.projectId}
       </foreach>
      </delete>
    
    
    5.单条修改
    
    <update id="update" parameterType="Model">
              update  T_A 
              set PERMISSION_FLAG = #{permissionFlag,jdbcType=VARCHAR}
               where UID = #{uid,jdbcType=VARCHAR}
        </foreach>
      </update>
    
    
    6.批量修改
    
    
    6.1(MySQL写法) 要加红字部分
    
    jdbc_url=jdbc:mysql://127.0.0.1:1334/testt?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
    
    <update id="updateRelateList" parameterType="java.util.List">
        <foreach item="item" index="index" collection="list" open="" separator=";" close="">
              update  T_A 
               <set>
                 PERMISSION_FLAG = #{item.permissionFlag,jdbcType=VARCHAR}
               </set>
               where UID = #{item.uid,jdbcType=VARCHAR}
        </foreach>
      </update>
    
    
    6.2(Oracle写法)
    
    <update id="updateRelateList" parameterType="java.util.List">
        <foreach item="item" index="index" collection="list" open="begin" separator=";" close="end;">
              update  T_A 
               <set>
                 PERMISSION_FLAG = #{item.permissionFlag,jdbcType=VARCHAR}
               </set>
               where UID = #{item.uid,jdbcType=VARCHAR}
        </foreach>
      </update>

  • 相关阅读:
    webService客户端搭建(三)
    webService服务器端搭建(二)
    electron 编译 sqlite3避坑指南---尾部链接有已经编译成功的sqlite3
    解决网页中Waiting (TTFB)数据加载过慢的问题
    Node-sqlite3多字段插入数据问题
    win上使用nvm管理node版本
    centos系统设置局域网静态IP
    将win平台上的mysql数据复制到linux上报错Can't write; duplicate key in table
    win上配置nginx
    Nodejs解决所有跨域请求
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318054.html
Copyright © 2020-2023  润新知