txt文件為sql1.txt
txt中數據格式如圖所示:
代碼:
public class test { //連接數據庫 public static Connection getConnection(String data, String user, String pwd) { Connection conn = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/" + data + "?serverTimezone=UTC&characterEncoding=UTF-8", user, pwd); } catch (Exception e) { e.printStackTrace(); } return conn; } //插入數據庫,只能為一個字段 public static boolean insertInto(String[] str) throws NumberFormatException { try { // blog是數據庫表,root是數據庫用戶名,password是數據庫密碼 Connection conn = getConnection("blog", "root", "password"); conn.setAutoCommit(false); String sql = "INSERT INTO tb_user (id,username,password,name,birthday,sex,email,phone,qq,status,create_time,update_time) VALUES (?,?,?,?,?,?,?,?,?,?,?,?);"; PreparedStatement pstmt = conn.prepareStatement(sql); for (int i = 1; i <= str.length; i++) { if (i==1) pstmt.setInt(1,Integer.parseInt(str[i-1])); //else pstmt.setString(i, str[i-1]); else { pstmt.setString(i, (str[i-1]).substring(1,str[i-1].length()-1)); } // conn.commit(); } pstmt.executeUpdate(); conn.commit(); return true; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); return false; } } public static void main(String[] args) { String[] strings = readTxt("sql1.txt"); for (String str: strings) { String[] split = str.split(","); /*boolean b = */insertInto(split); /*if (b) { System.out.println("插入成功!"); } else { System.out.println("插入失敗!"); }*/ } System.out.println("終於導完了"); } //讀取文本操作 public static String[] readTxt(String path) { File file = new File(path); List<String> list = new ArrayList<String>(); String[] strings = null; try { BufferedReader bw = new BufferedReader(new FileReader(file)); String line = null; //因為不知道有幾行數據,所以先存入list集合中 while ((line = bw.readLine()) != null) { list.add(line); } bw.close(); } catch (IOException e) { e.printStackTrace(); } //確定數組長度 strings = new String[list.size()]; for (int i = 0; i < list.size(); i++) { String s = (String) list.get(i); strings[i] = s; } return strings; } }