12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package com.service.impl;
- import com.service.UserService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import javax.sql.DataSource;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- @Service("UserServiceImpl")
- public class UserServiceImpl implements UserService {
- @Autowired
- DataSource dataSource;
- @Override
- /**
- * 使用批处理add
- */
- public void addUserBatch() {
- try {
- Connection connection = dataSource.getConnection();
- String sql = "insert into wb_tbl_a (`company_id`) values(?)";
- PreparedStatement preparedStatement = connection.prepareStatement(sql);
- System.out.println("开始执行");
- long start = System.currentTimeMillis();
- for (int i = 0; i < 100000; i++){
- preparedStatement.setInt(1, i);
- //将sql 语句加入到批处理包中 -> 看源码
- preparedStatement.addBatch();
- //当有1000条记录时,在批量执行
- if ((i + 1) % 1000 == 0){
- preparedStatement.executeBatch();
- //清空一把
- preparedStatement.clearBatch();
- }
- }
- long end = System.currentTimeMillis();
- System.out.println("批处理的sql耗时:" + (end - start));
- connection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
|