小伙伴们大家好啊,最近再写一个项目,好久没有写自己的博客了,因为要做项目压测,需要模拟5000个用户进行访问,但我又不可能手动写5000个用户到数据库撒,于是就编写了一个小的批量导入程序,下面让我们来看看把。
那么首先需要一个bean来存储用户信息:
MiaoShaUser
@ToString
@Setter
@Getter
@AllArgsConstructor
public class MiaoShaUser {private Long id;//用户id,手机号码private String nickname;//用户名名称private String password;//MD5(MD5(pass+明文+固定salt)+salt)private String head;//头像,云存储idprivate Date registerDate;//注册时间private Date lastLoginDate;//登陆时间private Integer loginCount;//登陆次数
}
你可以不用这么多,然后我们编写一个连接数据库的工具类
DBUtil
public class DBUtil {private static Properties props;static {try {InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("application.properties");props = new Properties();props.load(in);in.close();}catch(Exception e) {e.printStackTrace();}}public static Connection getConn() throws Exception{String url = props.getProperty("spring.datasource.url");String username = props.getProperty("spring.datasource.username");String password = props.getProperty("spring.datasource.password");String driver = props.getProperty("spring.datasource.type");Class.forName(driver);return DriverManager.getConnection(url,username, password);}
}
application.properties 就自己写了把,噢对了再说一句句,笔者是用的com.alibaba.druid.pool.DruidDataSource
ok我们开始上主菜 。
insertDB
public class insertDB{private static String PASS="123456";private static void insertUser(int count) throws Exception{List<MiaoShaUser> users = new ArrayList<MiaoShaUser>(count);//生成用户for(int i=0;i<count;i++) {MiaoShaUser user = new MiaoShaUser();user.setId(15000000000L+i);user.setLoginCount(1);user.setNickname("user"+i);user.setRegisterDate(new Date());user.setPassword(PASS);users.add(user);}System.out.println("用户生成完毕");//插入数据库Connection conn = DBUtil.getConn();String sql = "insert into miaosha_user(loginCount, nickname, registerDate, salt, password, id)values(?,?,?,?,?,?)";PreparedStatement pstmt = conn.prepareStatement(sql);for(int i=0;i<users.size();i++) {MiaoShaUser user = users.get(i);pstmt.setInt(1, user.getLoginCount());pstmt.setString(2, user.getNickname());pstmt.setTimestamp(3, new Timestamp(user.getRegisterDate().getTime()));pstmt.setString(4, user.getPassword());pstmt.setLong(5, user.getId());pstmt.addBatch();}pstmt.executeBatch();pstmt.close();conn.close();System.out.println("完成插入");}public static void main(String[] args)throws Exception {insertUser(5000);//生成5000个用户并存入数据库中}}
ok这样就完成那,之后想插入多少个测试用户随便插入,只要你数据库吃的下哈哈哈。
希望能帮助到大家!!!码出未来!!!