java造mysql假資料記錄
阿新 • • 發佈:2018-12-07
造假資料的方法:
儘量對資料庫表每個欄位寫一個對應的方法,這樣比較清晰。
方法一:獲得車牌號,根據自己的需求控制字母和數字的比例。
public static String getPlateNo(){ String str1="ABCCCCCCCCCCCCCCCCCCCCCCCCDEFGHJKC"; String str2="ABCDEFGHJKLMNPQRSTUVWXYZ01234567890123456789012345678901234567890123456789012345678901234567890123456789"; Random random=new Random(); StringBuffer sb=new StringBuffer(); sb.append("閩"); sb.append(str1.charAt(random.nextInt(33))); for(int i=0;i<5;i++){ int number=random.nextInt(94); sb.append(str2.charAt(number)); } return sb.toString(); }
方法二:用陣列存好自己的欄位所要出現的資料,同一自己控制大致比例。
public static String getCarBrand(){
String brand="";
Random rd = new Random();
String[] strs = {"大眾","別克","豐田","吉利","寶馬","豐田","豐田","標誌"};
int num = rd.nextInt(strs.length);
brand = strs[num];
return brand;
}
方法三:時間方法如下
public static String getDatetime(){ String datetime = null; Random rd = new Random(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); long ts = new Date().getTime()+6000*rd.nextInt(60)+600000*rd.nextInt(35); return datetime = df.format(ts); }
大致可以控制時間為當前時間後幾個小時的時間變化。這裡具體控制為多少的區間,可以自己設定,還可以直接按天數直接增加,也可以減。
然後就是到資料庫驅動包後:
然後就是寫main方法進行字串的拼接和insert語句的提交。public static Connection getConnection(){ Connection conn = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); String url = "jdbc:mysql://192.168.17.213:3306/tc?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"; String user = "root"; String pass = "root"; conn = DriverManager.getConnection(url,user,pass); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; }