1、批量添加元素session.insert(String string,Object o)
[plain] view plaincopy
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)
[plain] view plaincopy
实例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)
[plain] view plaincopy
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 批量添加、修改和删除的详细解释。 1. **批量添加** 批量添加通常通过 `session.insert()` 方法实现,该方法接受一个 SQL 映射语句 ID 和一个包含待插入对象的集合。在给出的示例中,创建了一个 `...
在"mybatis数据操作(增删改查+批量操作)"这个主题中,我们将深入探讨如何利用MyBatis进行基本的数据操作,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select),以及如何执行批量操作。...
Mybatis批量修改操作代码详解 Mybatis是一款流行的持久层框架,提供了批量修改操作的功能。本文将详细介绍Mybatis批量修改的操作代码,包括批量修改的基本语法、参数说明、trim标签的使用等。 一、基本语法 ...
MySQL批量添加、修改、删除SQL语句详解 ...这篇文章详细介绍了MySQL批量添加、修改、删除SQL语句,并提供了使用MyBatis框架实现批量操作的示例代码。这些知识点对于实际开发中批量操作数据非常有用。
MyBatis Plus是一个基于MyBatis框架的扩展工具,它旨在简化常见的MyBatis操作,如插入、更新、删除和查询。这套学习资料包含了MyBatis Plus的源码和笔记,是深入理解并掌握该框架的宝贵资源。下面将详细阐述MyBatis ...
在上面的代码中,使用 `<trim>` 语法来实现批量更新,`<trim>` 语法可以自动添加或删除SQL语句中不需要的部分,从而提高了代码的可读性和维护性。 总结 在Mybatis中,可以使用updateBatch方法来进行批量更新,以...
- 自动完成单表CRUD操作(包括简单的单个对象插入、查询、更新、删除操作和批量操作)。 - 提供分页插件,支持自动分页和自定义SQL分页查询。 - 支持Spring环境下根据不同环境加载不同的配置。 - 提供代码自动...
本篇文章将详细介绍如何在SSM项目中实现批量新增,同时也适用于批量修改和删除操作。 首先,我们需要在前端JavaScript部分声明一个数组,用于存储待批量处理的数据。可以通过push方法动态添加元素,无论是预先定义...
初始化MyBatis-Plus,需要在Spring Boot的配置文件中添加MyBatis-Plus的相关依赖,然后创建实体类、Mapper接口和对应的XML文件,最后通过BaseMapper接口实现基本的CRUD操作。 4. **Lambda查询** MyBatis-Plus引入...
3. **自动化填充字段**:支持实体类字段的自动填充,如创建时间、修改时间和乐观锁版本号等,只需要在实体类字段上添加注解即可。 4. **批量插入与更新**:MyBatis-Plus支持一次性插入或更新多条数据,提高了数据...
6. **批量操作**:Mybatis-Plus支持批量插入、更新和删除操作。例如,`batchInsert(List)`方法可以一次性插入多个对象到数据库,提高了效率。 7. **主键策略**:Mybatis-Plus提供了多种主键生成策略,如ID_WORKER...
总的来说,"ssm-mybatis-layui.zip"项目提供了一个完整的用户管理系统的示例,展示了SSM框架在实际开发中的应用,同时也为后续添加角色管理和权限控制提供了基础。开发者可以通过学习和修改这个项目,提升自己的Java...
MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的过程,它可以使用简单的XML或注解进行配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。...
MyBatis Plus是MyBatis的一个扩展,提供了更为强大的CRUD操作,包括自动填充、条件构造、批量插入、删除等,简化了日常的数据库操作,与MyBatis Plugin有相似的目标,都是为了提升MyBatis的开发效率。 MyBatis ...
在MyBatis中,我们可以利用拦截器(Interceptor)机制来实现特定的功能,比如规范化SQL语句,确保更新和删除操作的准确性。本话题主要探讨如何编写一个MyBatis语句规范化拦截器,防止因条件错误导致的批量操作对...
这个例子中,我们使用了 foreach 语句来批量添加数据,collection 属性指定了要添加的数据列表,item 属性指定了每个数据的值。 批量删除数据: ```java @Delete({ "<script>delete from company_label where ...
它在MyBatis的基础上增加了诸如自动化CRUD(创建、读取、更新、删除)操作,条件构造器等功能,减少了大量重复的SQL代码。在日志系统中,MyBatis Plus可以用于将日志信息存储到数据库,方便进行持久化管理。 **AOP...
1. **添加依赖**:在SpringBoot项目的pom.xml文件中,我们需要引入SpringBoot的MyBatis Starter和Apache POI的依赖。例如: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-starter-data-jpa...
这个框架在Mybatis的基础上进行了扩展,添加了许多实用功能,减少了开发时编写重复的SQL和DOM映射代码。 Mybatis-plus的核心概念包括: 1. **实体类(Entity)**:代表数据库中的表,实体类中的属性对应表中的字段...
然后,在 MyBatis 的配置文件中添加 MyBatis-Plus 的配置,包括数据库连接信息和全局配置等。 3. **基础操作** - **插入(Insert)**: MyBatis-Plus 提供了单表插入、批量插入和主键自增等多种方式,只需一行代码...