通过JDBC从文本文件大批量 高效的导入mysql数据库操作
2018-03-21 14:28
441 查看
import java.io.File;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class LoadTxtData {
private static String filePath = "文件群所在路径";
private static String tableName = "数据库表名";
public static void main(String[] args){
File filelist = new File(filePath);
for (File file : filelist.listFiles()) {
if (!file.isFile()) {
continue;
}
boolean result = loadDataInfile(filePath+"/"+file.getName(),tableName);
if(result){
System.out.println("文件数据导入成功!");
}
}
}
public static boolean loadDataInfile(String fileUrl, String table) {
String sql = "load data local infile '" + fileUrl + "' ignore into table " + table + "(列名,...,...);";
String url="jdbc:mysql://数据库ip:端口号/数据库名称?autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8";
String userName = "用户名";
String password = "密码";
java.sql.Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, userName, password);
Statement stmt = conn.createStatement();
long a = System.currentTimeMillis();
boolean result = stmt.execute(sql);
System.out.println("sql:" + sql);
long b = System.currentTimeMillis();
System.out.println("time:" + (b - a) + "ms");
return result;
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return false;
}
}
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class LoadTxtData {
private static String filePath = "文件群所在路径";
private static String tableName = "数据库表名";
public static void main(String[] args){
File filelist = new File(filePath);
for (File file : filelist.listFiles()) {
if (!file.isFile()) {
continue;
}
boolean result = loadDataInfile(filePath+"/"+file.getName(),tableName);
if(result){
System.out.println("文件数据导入成功!");
}
}
}
public static boolean loadDataInfile(String fileUrl, String table) {
String sql = "load data local infile '" + fileUrl + "' ignore into table " + table + "(列名,...,...);";
String url="jdbc:mysql://数据库ip:端口号/数据库名称?autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8";
String userName = "用户名";
String password = "密码";
java.sql.Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, userName, password);
Statement stmt = conn.createStatement();
long a = System.currentTimeMillis();
boolean result = stmt.execute(sql);
System.out.println("sql:" + sql);
long b = System.currentTimeMillis();
System.out.println("time:" + (b - a) + "ms");
return result;
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
if (conn != null)
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return false;
}
}
相关文章推荐
- java通过JDBC操作mysql数据库
- 二、JAVA通过JDBC连接mysql数据库(操作)
- Java学习笔记(十一)——通过JDBC操作mysql数据库
- Java中通过JDBC操作MySQL数据库
- Java中通过JDBC操作MySQL数据库
- jdbc连接Oracle/MySQL数据库进行批量导入操作,如何提高效率???
- JAVA通过JDBC连接并操作MySQL数据库
- MySQL数据库通过JDBC操作,简单查询
- Java通过JDBC 进行MySQL数据库操作
- Java 通过JDBC连接并操作Mysql数据库
- centos5.8系统下MySQL数据库导出与导入操作
- JDBC:通过 Statement 执行更新操作
- Mac下使用终端命令行导入MySQL数据库.sql文件的操作
- 如何导入导出MySQL数据库----*.sql文件操作
- 通过RODBC包操作mysql数据库
- jdbc通过属性文件连接mysql数据库案例
- jsp通过JDBC驱动访问mysql数据库
- 通过sql语句对mysql数据库进行基本的操作
- Java 通过JDBC连接Mysql数据库
- eclipse通过jdbc访问mysql数据库