如何用mybatis plus 批量添加 请详细讲述
时间: 2023-10-02 17:14:14 浏览: 94
Mybatis-Plus 是 Mybatis 的增强工具,在 Mybatis 基础上进行了简单的封装,提供了很多便捷的功能,其中包括批量操作。
下面我们以批量添加为例,讲述如何使用 Mybatis-Plus 进行批量添加。
1. 准备工作
首先,需要在 pom.xml 文件中添加 Mybatis-Plus 依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
```
同时,需要在 application.yml 中配置 Mybatis-Plus 的相关属性:
```yaml
mybatis-plus:
# mapper.xml 所在路径
mapper-locations: classpath*:mapper/*.xml
# 实体类包路径
typeAliasesPackage: com.example.demo.entity
# 配置全局主键策略
global-config:
db-config:
id-type: auto
```
2. 编写 Mapper 接口
在 Mapper 接口中,我们需要定义一个批量添加的方法。方法的参数为一个 List 集合,表示要添加的实体对象列表。
```java
public interface UserMapper extends BaseMapper<User> {
void batchInsert(List<User> userList);
}
```
3. 编写 Mapper XML 文件
在 Mapper XML 文件中,我们需要编写批量添加的 SQL 语句。这里使用 Mybatis-Plus 提供的批量插入方法 `insertBatchSomeColumn`,该方法可以将实体对象列表批量插入到数据库中。
```xml
<mapper namespace="com.example.demo.mapper.UserMapper">
<!-- 批量添加 -->
<insert id="batchInsert" parameterType="java.util.List">
insert into user (name, age, email)
values
<foreach collection="list" item="item" separator=",">
(#{item.name}, #{item.age}, #{item.email})
</foreach>
</insert>
</mapper>
```
4. 调用批量添加方法
在 Service 层中,我们可以直接调用 Mapper 接口中定义的批量添加方法。
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public void batchInsert(List<User> userList) {
userMapper.batchInsert(userList);
}
}
```
至此,我们就完成了使用 Mybatis-Plus 进行批量添加的操作。需要注意的是,批量操作的性能取决于数据库的性能,因此在进行批量操作时,应该尽量减少数据库的 IO 操作。
阅读全文