springboot执行批量插入_SpringBoot+MybatisPlus实现批量添加的两种方式
时间: 2023-06-17 17:07:26 浏览: 145
在SpringBoot和MybatisPlus中实现批量插入有以下两种方式:
1.使用JdbcTemplate实现批量插入
JdbcTemplate是Spring提供的一个简化了的JDBC操作工具,可以方便地完成数据库的增删改查操作。使用JdbcTemplate实现批量插入的步骤如下:
(1)在pom.xml文件中添加JdbcTemplate和MySQL数据库驱动的依赖:
```xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
```
(2)在application.properties文件中配置数据源信息:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
```
(3)在代码中使用JdbcTemplate实现批量插入:
```java
@Autowired
private JdbcTemplate jdbcTemplate;
public void batchInsert(List<User> userList) {
String sql = "INSERT INTO user (name, age) VALUES (?, ?)";
jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i) throws SQLException {
User user = userList.get(i);
ps.setString(1, user.getName());
ps.setInt(2, user.getAge());
}
@Override
public int getBatchSize() {
return userList.size();
}
});
}
```
2.使用MybatisPlus的批量插入方法
MybatisPlus是MyBatis的增强工具,在Mybatis的基础上简化了开发流程,提高了开发效率。MybatisPlus提供了一个批量插入的方法,使用起来非常方便。使用MybatisPlus的批量插入方法的步骤如下:
(1)在pom.xml文件中添加MybatisPlus和MySQL数据库驱动的依赖:
```xml
<dependencies>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
```
(2)在application.properties文件中配置数据源信息:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
```
(3)在代码中使用MybatisPlus的批量插入方法:
```java
@Autowired
private UserMapper userMapper;
public void batchInsert(List<User> userList) {
userMapper.insertBatchSomeColumn(userList);
}
```
阅读全文