1. 程式人生 > >java造mysql假資料記錄

java造mysql假資料記錄

造假資料的方法:

儘量對資料庫表每個欄位寫一個對應的方法,這樣比較清晰。

方法一:獲得車牌號,根據自己的需求控制字母和數字的比例。

	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);
	}

大致可以控制時間為當前時間後幾個小時的時間變化。這裡具體控制為多少的區間,可以自己設定,還可以直接按天數直接增加,也可以減。


然後就是到資料庫驅動包後:

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;
         }
然後就是寫main方法進行字串的拼接和insert語句的提交。