我通过jdbc向数据库插入几万条数据,要几十分钟,我是单条记录循环插入,请问有没有效率高一点的方法啊

我通过jdbc向数据库插入几万条数据,要几十分钟,我是单条记录循环插入,请问有没有效率高一点的方法啊,第1张

批处理 你插入一条 就连接一次数据。。。。几万条 就连接几万次 理论和实际效率肯定会相对低一点呢 你可以吧你的数据装一个LIST里面 一次插入1000条 用毫秒数试试要多久 会不会好点 10000条又多久。。(当然 看你数据有多大的 不大就没问题) 然后循环插就好了 还有数据库表主键索引都建一下

我刚写了一个只有插入的,望采纳

import javasql;

import javautil;

public class TestPre {

public static void main(String[] args) {

int i=0,deptno=0;//i只做while循环使用,deptno是表dept2中的一个属性,类型是int

String dname=null,loc=null;//dname和loc也是表dept2的属性,类型是String

Scanner s=new Scanner(Systemin);

Systemoutprintln("请输入3个参数");

while(i<3){

try{

deptno=snextInt();

i++;

dname=snext();

i++;

loc=snext();

i++;

}catch(InputMismatchException e){

Systemoutprintln("输入的类型不符,退出");

Systemexit(-1);

}

}

Connection conn=null;

PreparedStatement pstmt=null;

try {

ClassforName("commysqljdbcDriver");

conn = DriverManagergetConnection("jdbc:mysql://localhost/mydata"+ "user=root&password=root");

pstmt=connprepareStatement("insert into dept2 values(,,)");

pstmtsetInt(1, deptno);

pstmtsetString(2, dname);

pstmtsetString(3, loc);

pstmtexecuteUpdate();

Systemoutprintln("插入完成");

} catch (ClassNotFoundException e) {

Systemoutprintln("连接数据库不成功,程序退出");

Systemexit(-1);

} catch (SQLException e) {

Systemoutprintln("连接数据库不成功,程序退出");

Systemexit(-1);

}

finally{

try{

if(pstmt!=null){

pstmtclose();

pstmt=null;

}

if(conn!=null){

connclose();

conn=null;

}

}catch(SQLException e){

eprintStackTrace();

}

}

}

}

首先导入驱动jar包,程序是

package test;

import javasqlConnection;

import javasqlDriverManager;

import javasqlSQLException;

public class connectionMySql {

private static Connection connection;

static{

String driver="commysqljdbcDriver";

String url="jdbc:mysql://localhost:3306/purview";

try {

ClassforName(driver);

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

Systemoutprint("加载驱动失败");

eprintStackTrace();

}

try {

connection=DriverManagergetConnection(url, "root", "root");

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

public static Connection getConnection() {

return connection;

}

public static void main(String [] args) {

Connection con=connectionMySqlgetConnection();

if(!conequals("")){

Systemoutprint("数据库连接成功,连接id是:"+con);

}

}

}

以上就是关于我通过jdbc向数据库插入几万条数据,要几十分钟,我是单条记录循环插入,请问有没有效率高一点的方法啊全部的内容,包括:我通过jdbc向数据库插入几万条数据,要几十分钟,我是单条记录循环插入,请问有没有效率高一点的方法啊、编写一个java程序,通过jdbc访问数据库实现对数据库的插入,删除,修改和查询 *** 作、jdbc怎么连接mysql数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9361898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存