时间:2021-05-20
在操作数据库时,经常会碰到批量插入、批量删除的情况,直接执行SQL语句还好做一点,当使用Mybatis进行批量插入、批量删除时会有一些问题。下面对使用Mybatis批量插入,批量删除进行介绍。
1. 批量插入
Java代码:
// Model: Test.java@Datapublic class Test {private String x;private String y;private String z;}// Mapper: TestMapper.javapublic void insertTestList(List<Test> testList);XML代码
<!-- 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 UPDATEtest_x = VALUES(test_x),test_y = VALUES(test_y),test_z = VALUES(test_z)</insert>...批量插入SQL语句
insert into test_table(x, y, z) values (1, 1, 1), (2, 2, 2), (3, 3, 3)备注:VALUE()是Mysql的一个函数,具体解释可以查看文档function_values。
主要功能就是在数据重复时可以获取要更新的值。
2. 批量删除
Java代码:
// Model: Test.java@Datapublic class Test {private String x;private String y;private String z;}// Mapper: TestMapper.javapublic void deleteTestList(List<Test> testList);XML代码
<!-- XML: TestMapper.XML -->...<delete id="deleteTestList" parameterType="Test">DELETE FROM test_tableWHERE<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语句
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 插入和删除批处理操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
批处理系统,又名批处理操作系统。批处理是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行。 这种采用批量处理作业技术的操作系统称为批处理
批处理程序删除自身.batecho有时候我们需要批处理程序在执行完成之后删除自身,可以用del%0例:复制代码代码如下:@echooffecho按任意键后我将删
一、批处理释义:批处理(Batch),也称为批处理脚本。它是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,应用于DOS和Windows系统中。批处理文
VBS脚本和BAT批处理自身删除的方法(自杀)删除自身之:VBS把下面的脚本保存为selfkill.vbs或selfkill.vbe:复制代码代码如下:Setf
从中可以了解系统服务的添加与删除,以及文件复制等基本命令和方法。此外,利用批处理文件,还可以更方便地来扩展快捷操作。例如,要打开一个目录,则代码形式为:复制代码