首页 归档 关于 文件 Github
×

MyBatis的几种批量操作 - MySql

2020-11-17 16:24:54
MyBatis
  • MyBatis
本文总阅读量(次):
本文字数统计(字):433
本文阅读时长(分):2

说明

此处针对MySql的数据库操作,
datasource.url:jdbc:mysql://127.0.0.1:3306/data?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true

批量新增

dao

1
2
3
4
5
6
7
8
List<Map<String, Object>> listData = new ArrayList<>();

/**
* 批量新增
* @param params 参数1
* @param list 参数2
*/
void saveBatchData(@Param("params")Map<String, Object> map, @Param("list")List<Map<String, Object>> list);

Mapper

此处的 “list” 为 dao里面的 @Param(“list”) 的 list

1
2
3
4
5
6
7
<insert id="saveBatchData" parameterType="java.util.List" >
insert into user_table
( USER_NAME,USER_STATUS,CREATE_TIME,UPDATE_TIME ) values
<foreach collection="list" item="item" separator=",">
( #{item.userName},#{item.userStatus},#{item.createDate},#{item.updateDate} )
</foreach>
</insert>

批量删除

dao

数组:

1
2
3
4
5
6
7
8
9
List<String> list = new ArrayList<>();
list.add("1");
String[] stringArray = new String[list.size()];

/**
* 批量删除
* @param stringArray 参数
*/
void deleteBatchDataByArray(String[] stringArray);

集合:

1
2
3
4
5
6
7
List<Map<String, Object>> listData = new ArrayList<>();

/**
* 批量删除
* @param list 参数
*/
void deleteBatchDataByList(@Param("list")List<Map<String, Object>> list);

Mapper

数组:

1
2
3
4
5
6
<delete id="deleteBatchDataByArray">
delete from user_table where USER_ID in
<foreach item="item" index="index" collection="array" open="(" separator="," close=")">
#{item}
</foreach>
</delete>

集合:

1
2
3
4
5
6
<delete id="deleteBatchDataByList" parameterType="java.util.List">
delete from user_table where
<foreach collection="list" item="item" index="index" separator="or">
( USER_ID = #{item.userId} )
</foreach>
</delete>

批量更新

dao

1
2
3
4
5
6
7
8
List<Map<String, Object>> listData = new ArrayList<>();

/**
* 批量更新
* @param params 参数1
* @param list 参数2
*/
void updateBatchData(@Param("params")Map<String, Object> params, @Param("list")List<Map<String, Object>> list);

Mapper

1
2
3
4
5
6
7
8
9
10
11
12
<update id="updateBatchData" parameterType="java.util.List" >
<foreach collection="list" item="item" separator=";">
update user_table
<set>
USER_NAME = #{item.userName},
USER_STATUS = #{item.userStatus},
UPDATE_TIME = #{item.updateDate}
</set>
where
USER_ID = #{item.userId}
</foreach>
</update>
完
MyBatis遍历map
POI(3.17)生成Excel2007 - 可计算公式数据

本文标题:MyBatis的几种批量操作 - MySql

文章作者:十二

发布时间:2020-11-17 16:24:54

最后更新:2022-08-16 16:12:41

原始链接:https://www.zhuqiaolun.com/2020/11/1605601494695/1605601494695/

许可协议:署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

头像

十二

我想起那天夕阳下的奔跑,那是我逝去的青春。

分类

  • Blog4
  • ElasticSearch13
  • Freemarker2
  • Git2
  • Go-FastDfs2
  • IDEA2
  • J-Package6
  • J-Tools21
  • Java2
  • JavaFx3
  • Kafka4
  • Linux2
  • Logger5
  • Maven5
  • MyBatis6
  • MyCat3
  • MySql2
  • Nginx5
  • OceanBase1
  • RabbitMq4
  • Redis6
  • SVN1
  • SpringBoot11
  • Tomcat6
  • WebService2
  • Windows2
  • kubernetes10

归档

  • 二月 20251
  • 十二月 20244
  • 八月 202416
  • 六月 20241
  • 九月 20231
  • 八月 20231
  • 七月 20232
  • 八月 20222
  • 三月 202214
  • 二月 20224
  • 十一月 20211
  • 七月 20215
  • 六月 20213
  • 五月 20213
  • 四月 20211
  • 三月 202116
  • 二月 20212
  • 一月 20211
  • 十一月 202014
  • 十月 20201
  • 九月 202014
  • 八月 20205
  • 七月 20204
  • 六月 20208
  • 五月 20208

作品

我的微信 我的文件

网站信息

本站运行时间统计: 载入中...
本站文章字数统计:96.9k
本站文章数量统计:132
© 2025 十二  |  鄂ICP备18019781号-1  |  鄂公网安备42118202000044号
驱动于 Hexo  | 主题 antiquity  |  不蒜子告之 阁下是第个访客
首页 归档 关于 文件 Github