文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
在操作数据库时,经常会碰到批量插入、批量删除的情况,直接执行SQL语句还好做一点,当使用Mybatis进行批量插入、批量删除时会有一些问题。下面对使用Mybatis批量插入,批量删除进行介绍。
1. 批量插入
- Java代码:
1 | // Model: Test.java |
- XML代码
1 | <!-- XML: TestMapper.XML --> |
- 批量插入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 | // Model: Test.java |
- XML代码
1 | <!-- XML: TestMapper.XML --> |
- 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
。