在Spring Boot中进行批量插入可以通过以下步骤实现:
下面是一个示例代码:
@Entity
@Table(name = "example_table")
public class ExampleEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
// getters and setters
}
在Spring Boot的配置文件(application.properties或application.yml)中添加以下配置:
spring.datasource.url=jdbc:mysql://localhost:3306/example_db
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
public interface ExampleDao {
void batchInsert(List<ExampleEntity> entities);
}
@Repository
public class ExampleDaoImpl implements ExampleDao {
@Autowired
private JdbcTemplate jdbcTemplate;
@Override
public void batchInsert(List<ExampleEntity> entities) {
String sql = "INSERT INTO example_table (name) VALUES (?)";
jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i) throws SQLException {
ps.setString(1, entities.get(i).getName());
}
@Override
public int getBatchSize() {
return entities.size();
}
});
}
}
@Service
public class ExampleService {
@Autowired
private ExampleDao exampleDao;
public void batchInsert(List<ExampleEntity> entities) {
exampleDao.batchInsert(entities);
}
}
这样,你就可以在Spring Boot中进行批量插入了。在业务逻辑层中调用ExampleService
的batchInsert
方法,传入要插入的数据列表即可实现批量插入操作。
注意:以上示例中使用了JdbcTemplate来执行批量插入操作,你也可以使用其他持久化框架,如MyBatis等来实现相同的功能。
领取专属 10元无门槛券
手把手带您无忧上云