您的位置:首页 > 数据库 > Oracle

mybatis 执行批量更新batch update 的方法(oracle,mysql)

2017-07-21 00:00 555 查看
application.properties中加入分页插件

pagination.paginationFilter=com.hikvision.util.pager.PaginationFilter

oracle数据库:

<update id="batchUpdate"  parameterType="java.util.List">

<foreach collection="list" item="item" index="index" open="begin" close="end;" separator=";">
update test
<set>
test=${item.test}+1
</set>
where id = ${item.id}
</foreach>

</update>


mysql数据库:

mysql数据库采用一下写法即可执行,但是数据库连接必须配置:&allowMultiQueries=true

例如:jdbc:mysql://192.168.1.236:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true

<update id="batchUpdate"  parameterType="java.util.List">

<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update test
<set>
test=${item.test}+1
</set>
where id = ${item.id}
</foreach>

</update>

mysql 批量插入

Dao类
int batchInsert(List<UserTask> list);

Mapper.xml
<insert id="batchInsert" parameterType="com.pojo.UserTask">
replace into lottery_user_task (
id
, user_id
, gmt_create
, gmt_modify
)
values
<foreach collection="list" item="item" index="index"  separator=",">
(
#{item.id,jdbcType=INTEGER},
#{item.userId,jdbcType=BIGINT},
now(),
now()
)
</foreach>
</insert>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: