mybatis批量修改、批量新增sql语句
1、单个新增
<insert id="insert" parameterType="com.test.User">
INSERT INTO t_user
(user_name,mobile)
VALUES
(#{userName}, #{mobile})
</insert>
2、新增并返回主键
keyProperty的属性是要返回的主键字段的名称
<insert id="insertReturnId" parameterType="com.test.User" useGeneratedKeys="true" keyProperty="id">
INSERT INTO t_user
(user_name,mobile)
VALUES
(#{userName}, #{mobile})
SELECT @@IDENTITY AS id
</insert>
3、批量新增
<insert id="insertList" parameterType="java.util.List">
INSERT INTO t_user
(user_name,mobile)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.userName},#{item.mobile})
</foreach>
</insert>
4、批量修改
批量处理的时候需要在jdbc连接后面加上:allowMultiQueries=true,因为默认是不支持批处理的。
<update id="updateList" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" separator=";">
UPDATE t_user
SET update_time = now(),user_name= #{item.userName} ,mobile = #{item.mobile}
WHERE id = #{item.id}
</foreach>
</update>