Spring Boot PostgreSQL 批量插入数据:快速插入200万行数据
首先,我们需要在 Spring Boot 项目中配置 PostgreSQL 数据库连接。在 application.properties 文件中添加以下配置:
spring.datasource.url=jdbc:postgresql://localhost:5432/db_name
spring.datasource.username=username
spring.datasource.password=password
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=update
接下来,我们需要创建一个 User 实体类,用于映射 sys.t__user 表的字段。在 User 类中添加以下属性和相应的 getter 和 setter 方法:
@Entity
@Table(name = 'sys.t__user')
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = 'create_time')
private Date createTime;
@Column(name = 'update_time')
private Date updateTime;
private String username;
private String password;
private String phone;
private String city;
@Column(name = 'role_id')
private Long roleId;
@Column(name = 'create_user')
private String createUser;
@Column(name = 'update_user')
private String updateUser;
// getter and setter methods
}
然后,我们需要创建一个 UserRepository 接口,用于操作 User 实体类对应的表。在 UserRepository 接口中添加以下代码:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
接下来,我们需要创建一个 UserService 类,用于处理业务逻辑。在 UserService 类中添加以下代码:
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public void insertRandomData(int count) {
Random random = new Random();
for (int i = 0; i < count; i++) {
User user = new User();
user.setCreateTime(new Date());
user.setUpdateTime(new Date());
user.setUsername('user' + i);
user.setPassword('password' + i);
user.setPhone('phone' + i);
user.setCity('city' + i);
user.setRoleId(random.nextLong());
user.setCreateUser('admin');
user.setUpdateUser('admin');
userRepository.save(user);
}
}
}
最后,我们可以在 Spring Boot 的启动类中调用 UserService 的 insertRandomData 方法来插入 200 万行随机数据。在启动类中添加以下代码:
@SpringBootApplication
public class Application implements CommandLineRunner {
@Autowired
private UserService userService;
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
public void run(String... args) throws Exception {
userService.insertRandomData(2000000);
}
}
以上就是使用 Java 语言、Spring Boot 和 Spring Cloud 方式实现在 PostgreSQL 数据库中随机插入 200 万行数据的步骤。
原文地址: https://www.cveoy.top/t/topic/o6EU 著作权归作者所有。请勿转载和采集!