MyBatis批量添加、修改和删除

作者:Alfa 时间:2023-12-07 05:13:31 

废话不多说了,直接步入正题了。

1、批量添加元素session.insert(String string,Object o)


public void batchInsertStudent(){
List<Student> ls = new ArrayList<Student>();
for(int i = 5;i < 8;i++){
Student student = new Student();
student.setId(i);
student.setName("maoyuanjun" + i);
student.setSex("man" + i);
student.setTel("tel" + i);
student.setAddress("浙江省" + i);
ls.add(student);
}
SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();
session.insert("mybatisdemo.domain.Student.batchInsertStudent", ls);
session.commit();
session.close();
}
<insert id="batchInsertStudent" parameterType="java.util.List">
INSERT INTO STUDENT (id,name,sex,tel,address)
VALUES
<foreach collection="list" item="item" index="index" separator="," >
(#{item.id},#{item.name},#{item.sex},#{item.tel},#{item.address})
</foreach>
</insert>

2、批量修改session. insert (String string,Object o)

实例1:


public void batchUpdateStudent(){
List<Integer> ls = new ArrayList<Integer>();
for(int i = 2;i < 8;i++){
ls.add(i);
}
SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();
session.insert("mybatisdemo.domain.Student.batchUpdateStudent",ls);
session.commit();
session.close();
}
<update id="batchUpdateStudent" parameterType="java.util.List">
UPDATE STUDENT SET name = "5566" WHERE id IN
<foreach collection="list" item="item" index="index" open="(" separator="," close=")" >
#{item}
</foreach>
</update>

实例2


public void batchUpdateStudentWithMap(){
List<Integer> ls = new ArrayList<Integer>();
for(int i = 2;i < 8;i++){
ls.add(i);
}
Map<String,Object> map = new HashMap<String,Object>();
map.put("idList", ls);
map.put("name", "mmao789");
SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();
session.insert("mybatisdemo.domain.Student.batchUpdateStudentWithMap",map);
session.commit();
session.close();
}
<update id="batchUpdateStudentWithMap" parameterType="java.util.Map" >
UPDATE STUDENT SET name = #{name} WHERE id IN
<foreach collection="idList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</update>

3、批量删除session.delete(String string,Object o)


public void batchDeleteStudent(){
List<Integer> ls = new ArrayList<Integer>();
for(int i = 4;i < 8;i++){
ls.add(i);
}
SqlSession session = SessionFactoryUtil.getSqlSessionFactory().openSession();
session.delete("mybatisdemo.domain.Student.batchDeleteStudent",ls);
session.commit();
session.close();
}
<delete id="batchDeleteStudent" parameterType="java.util.List">
DELETE FROM STUDENT WHERE id IN
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>

好了,本文到此结束,希望对大家有所帮助。

标签:mybatis,批量,添加,修改,删除
0
投稿

猜你喜欢

  • C# 微信支付回调验签处理的实现

    2021-07-27 01:57:34
  • java如何判断一个对象是否为空对象

    2023-12-11 06:53:59
  • 简单的excel导入导出示例分享

    2023-11-02 00:02:52
  • Java经典排序算法之插入排序

    2022-08-29 11:08:39
  • Android程序美化之自定义ListView背景的方法

    2023-12-13 17:52:57
  • C#实现将汉字转化为2位大写的16进制Unicode的方法

    2022-03-11 21:45:07
  • C#学习笔记整理_浅谈Math类的方法

    2022-04-11 06:16:48
  • java启动jar包将日志打印到文本的简单操作

    2021-12-05 10:42:21
  • JavaWeb Servlet生命周期细枝末节处深究

    2023-08-25 22:48:23
  • 如何使用C#在PDF文件添加图片印章

    2021-06-26 05:34:51
  • Java Objects工具类原理及用法详解

    2022-10-15 01:40:35
  • java增强for循环的实现方法

    2023-12-07 16:42:53
  • Struts2之Validator验证框架的详细介绍

    2023-09-08 14:46:05
  • C#数据结构之队列(Quene)实例详解

    2021-12-03 09:06:26
  • Java实现雪花算法(snowflake)

    2022-10-27 03:43:23
  • 为什么说HashMap线程不安全

    2022-08-05 22:01:23
  • C# 将 Stream 保存到文件的方法

    2021-10-13 12:47:59
  • Android屏幕适配工具类 Android自动生成不同分辨率的值

    2022-03-07 13:45:39
  • java中ThreadLocal的基本原理

    2022-03-28 01:13:44
  • Android实现显示和隐藏密码功能的示例代码

    2022-12-14 23:40:09
  • asp之家 软件编程 m.aspxhome.com