MySql批量操作數據庫


  • 1)批量插入
  • 批量操作主要使用的是Mybatis的foreach,遍歷參數列表執行相應的操作,
  • 所以批量插入/更新/刪除的寫法是類似的,只是SQL略有區別而已。
  • mysql批量操作需要數據庫連接配置allowMultiQueries=true才可以。
  • <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true">
  • <foreach close="" collection="list" index="index" item="item" open="" separator=";">
  • insert into user (name, age,dept_code) values
  • (#{item.name,jdbcType=VARCHAR},
  • #{item.age,jdbcType=INTEGER},
  • #{item.deptCode,jdbcType=VARCHAR}
  • )
  • </foreach>
  • </insert>
  • 或者
  • <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true">
  • insert into user (name, age,dept_code) values
  • <foreach collection="list" index="index" item="item" open="" close="" separator=",">
  • (#{item.name,jdbcType=VARCHAR},
  • #{item.age,jdbcType=INTEGER},
  • #{item.deptCode,jdbcType=VARCHAR}
  • )
  • </foreach>
  • </insert>
  • (2)批量更新
  • <update id="batchUpdate" parameterType="java.util.List">
  • <foreach close="" collection="list" index="index" item="item" open="" separator=";">
  • update user set name=#{item.name,jdbcType=VARCHAR},age=#{item.age,jdbcType=INTEGER}
  • where id=#{item.id,jdbcType=INTEGER}
  • </foreach>
  • </update>
  • (3)批量刪除
  • <delete id="batchDelete" parameterType="java.util.List">
  • <foreach close="" collection="list" index="index" item="item" open="" separator=";">
  • delete from user
  • where id=#{item.id,jdbcType=INTEGER}
  • </foreach>
  • </delete>

 

  • 二、模糊查詢
  • <select id="selectLikeName" parameterType="java.lang.String" resultMap="BaseResultMap">
  • select
  • <include refid="Base_Column_List" />
  • from user
  • where name like CONCAT('%',#{name},'%' )
  • </select>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM