package cn.itcast.day04.test; import java.io.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ConMysql { public static void main(String[] args) { String[][] strings = writeToDat("E:\\Java\\basic-code\\day04-code\\src\\cn\\itcast\\day04\\test\\en_ch.js"); // getConnection("jdbc:mysql://localhost:3306","db1","root","root"); insertIntoTable("jdbc:mysql://localhost:3306", "db1", "root", "root", "user", strings); } private static String url_unic = "?useUnicode=true&characterEncoding=utf8"; //读文件 public static String[][] writeToDat(String path) { File file = new File(path); List<String> list = new ArrayList<String>(); String[][] strings = null; try { InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "utf8"); BufferedReader bw = new BufferedReader(isr); String line = null; while ((line = bw.readLine()) != null) { if (!line.equals("")) { list.add(line); } } bw.close(); } catch (IOException e) { e.printStackTrace(); } list = list.subList(1, list.size() - 1); strings = new String[list.size()][2]; // System.out.println(list); for (int a = 0; a < list.size(); a++) { String[] split = list.get(a).split(":"); // System.out.println(Arrays.toString(split)); for (int b = 0; b < split.length; b++) { Pattern p = Pattern.compile(",|\\s*|\t|\r|\n"); Matcher m = p.matcher(split[b]); split[b] = m.replaceAll(""); if (a != list.size() - 1) { if (b == split.length - 1) { String substring = split[b].substring(0, split[b].length()); strings[a][b] = substring; } else { strings[a][b] = split[b]; } } else { strings[a][b] = split[b]; } } } // for (int i = 0; i < list.size(); i++) { // String[] st = list.get(i).split("\t"); // // for (int j = 0; j < st.length; j++) { // Pattern p = Pattern.compile(",|\\s*|\t|\r|\n"); // Matcher m = p.matcher(st[j]); // st[j] = m.replaceAll(""); // st[j] = st[j].replaceAll(":",","); // strings[i][j] = st[j]; // //System.out.println(strings[i][j]); // } // } //[['11','one'],['22','two']] System.out.println("load data success!"); return strings; } //连接数据库 public static Connection getConnection(String url, String dataBase, String user, String pwd) { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); String url_total = url + "/" + dataBase + url_unic; //System.out.println(url_total); conn = DriverManager.getConnection(url_total, user, pwd); System.out.println("connection success!"); } catch (Exception e) { System.out.println("connection fail!"); e.printStackTrace(); } return conn; } //关闭数据库连接 public static void closeCon(Connection con) { if (con != null) { try { con.close(); } catch (Exception e) { e.printStackTrace(); } } } //插入数据 public static boolean insertIntoTable(String url, String dataBase, String user, String pwd, String table, String[][] str) { Connection conn = getConnection(url, dataBase, user, pwd); try { String sql = "insert into " + table + " (" + "uid,uname" + ")" + " values " + "(?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); for (int i = 0; i < str.length; i++) { pstmt.setInt(1, Integer.parseInt(str[i][0])); // System.out.println(str[i][0]); for (int j = 1; j < str[i].length; j++) { //System.out.println(str[i][j]); pstmt.setString(j + 1, str[i][j]); } pstmt.executeUpdate(); } System.out.println("insert data success!"); closeCon(conn); return true; } catch (SQLException e) { e.printStackTrace(); System.out.println("insert data fail!"); closeCon(conn); return false; } } }