作为一个postgres数据库有一张syst__user表表中有create_timeupdate_timeidusernamepasswordphonecityrole_idcreate_userupdate_user字段使用java语言springboot方式ssm架构随机插入200w行数据
插入200w行数据可以使用循环来实现,同时为了提高插入效率,可以使用批量插入的方式。
首先,需要创建一个实体类User来映射sys.t__user表的字段:
public class User {
private Date createTime;
private Date updateTime;
private Long id;
private String username;
private String password;
private String phone;
private String city;
private Long roleId;
private String createUser;
private String updateUser;
// 省略getter和setter方法
}
接下来,在Spring Boot项目的配置文件application.properties中配置数据库连接信息:
spring.datasource.url=jdbc:postgresql://localhost:5432/db_name
spring.datasource.username=username
spring.datasource.password=password
spring.datasource.driver-class-name=org.postgresql.Driver
然后,创建一个UserService类来处理用户数据的插入操作:
@Service
public class UserService {
@Autowired
private JdbcTemplate jdbcTemplate;
public void insertUsers(int count) {
List<User> userList = generateRandomUsers(count);
String sql = "INSERT INTO sys.t__user (create_time, update_time, id, username, password, phone, city, role_id, create_user, update_user) VALUES (?,?,?,?,?,?,?,?,?,?)";
jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i) throws SQLException {
User user = userList.get(i);
ps.setTimestamp(1, new Timestamp(user.getCreateTime().getTime()));
ps.setTimestamp(2, new Timestamp(user.getUpdateTime().getTime()));
ps.setLong(3, user.getId());
ps.setString(4, user.getUsername());
ps.setString(5, user.getPassword());
ps.setString(6, user.getPhone());
ps.setString(7, user.getCity());
ps.setLong(8, user.getRoleId());
ps.setString(9, user.getCreateUser());
ps.setString(10, user.getUpdateUser());
}
@Override
public int getBatchSize() {
return userList.size();
}
});
}
private List<User> generateRandomUsers(int count) {
// 生成count个随机用户数据
// 省略具体实现
}
}
最后,在一个启动类中调用UserService的insertUsers方法来插入200w行数据:
@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.insertUsers(2000000);
}
}
以上就是使用Java语言、Spring Boot和SSM架构随机插入200w行数据到PostgreSQL数据库的一个简单实现。请注意根据实际情况修改数据库连接信息和随机生成用户数据的逻辑
原文地址: http://www.cveoy.top/t/topic/hDVc 著作权归作者所有。请勿转载和采集!