一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - Mybatis 插入和刪除批處理操作

Mybatis 插入和刪除批處理操作

2020-07-10 19:29java教程網 JAVA教程

在操作數據庫時,經常會碰到批量插入、批量刪除的情況,直接執行SQL語句還好做一點,當使用Mybatis進行批量插入、批量刪除時會有一些問題。下面對使用Mybatis批量插入,批量刪除進行介紹

在操作數據庫時,經常會碰到批量插入、批量刪除的情況,直接執行SQL語句還好做一點,當使用Mybatis進行批量插入、批量刪除時會有一些問題。下面對使用Mybatis批量插入,批量刪除進行介紹。

1. 批量插入

Java代碼:

?
1
2
3
4
5
6
7
8
9
// Model: Test.java
@Data
public class Test {
private String x;
private String y;
private String z;
}
// Mapper: TestMapper.java
public void insertTestList(List<Test> testList);

XML代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<!-- XML: TestMapper.XML -->
...
<!-- 忽略重復數據 -->
<insert id="insertTestList" parameterType="Test">
INSERT IGNORE INTO
test_table(test_x, test_y, test_z)
VALUES
<foreach item="item" index="index" collection="list" open="(" close=")" separator=",">
#{item}.x, #{item.y}, #{item}.z
</foreach>
</insert>
<!-- 更新重復數據 -->
<insert id="insertTestList" parameterType="Test">
INSERT INTO
test_table(test_x, test_y, test_z)
VALUES
<foreach item="item" index="index" collection="list" open="(" close=")" separator=",">
#{item}.x, #{item.y}, #{item}.z
</foreach>
ON DUPLICATE KEY UPDATE
test_x = VALUES(test_x),
test_y = VALUES(test_y),
test_z = VALUES(test_z)
</insert>
...

批量插入SQL語句

?
1
insert into test_table(x, y, z) values (1, 1, 1), (2, 2, 2), (3, 3, 3)

備注:VALUE()是Mysql的一個函數,具體解釋可以查看文檔function_values。

主要功能就是在數據重復時可以獲取要更新的值。

2. 批量刪除

Java代碼:

?
1
2
3
4
5
6
7
8
9
// Model: Test.java
@Data
public class Test {
private String x;
private String y;
private String z;
}
// Mapper: TestMapper.java
public void deleteTestList(List<Test> testList);

XML代碼

?
1
2
3
4
5
6
7
8
9
10
11
<!-- XML: TestMapper.XML -->
...
<delete id="deleteTestList" parameterType="Test">
DELETE FROM
test_table
WHERE
<foreach item="item" index="index" collection="list" open="(" close=")" separator="OR">
test_x = #{item.x} AND test_y = #{item.y} AND test_z = #{item.z}
</foreach>
</delete>
...

SQL語句

?
1
delete from test_table where (test_x = 1 AND test_y = 1 AND test_z = 1) or (test_x = 2 AND test_y = 2 AND test_z = 2) or (test_x = 3 AND test_y = 3 AND test_z = 3)

備注:上面的代碼為x,y,z為聯合主鍵的情況,普通情況使用where id in。

以上所述是小編給大家介紹的Mybatis 插入和刪除批處理操作,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男同桌扒开女同桌胸罩喝奶 | 大乳女子一级毛片 | 俄罗斯女人与公拘i交酡 | 97影院3| 乌克兰肥熟| 色橹| 经典三级四虎在线观看 | 精品视频手机在线观看免费 | 亚洲四虎永久在线播放 | 色依依视频视频在线观看 | 暖暖在线精品日本中文 | 亚洲免费在线观看视频 | 丝瓜视频在线观看污 | 国产在线98福利播放视频免费 | 国产日韩精品一区二区在线观看播放 | 日韩亚洲欧美一区二区三区 | 麻豆天美精东果冻传媒在线 | 我的好妈妈7中字在线观看韩国 | 亚洲欧美久久婷婷爱综合一区天堂 | 极品美女写真菠萝蜜视频 | 亚欧成人一区二区 | 日本一区二区三区四区无限 | 午夜久久精品 | 午夜片神马影院福利 | 天天gan| yellow视频免费观看播放 | 欧美亚洲高清日韩成人 | av中文字幕网免费观看 | 精品久久久久久国产 | 毛片资源站 | 国产精品香蕉一区二区三区 | 欧美成人免费观看国产 | 久久三级视频 | 公妇乱淫在线播放免费观看 | 精品国产乱码久久久久久软件 | 日本乱人伦中文在线播放 | 国产精品久久毛片蜜月 | 特大黑人娇小亚洲女mp4 | 欧洲喷浆乌克兰 | sp啪啪调教打屁股网站 | 99re免费在线视频 |