MySql批量操作数据库

2018-06-18 00:56:59来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

  • 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>

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:MySQL 关于存储过程那点事

下一篇:MySQL操作中的一些细节及良好习惯--------持续更新中...