使用JDBC在MySQL数据库中如何快速批量插入

使用JDBC在MySQL数据库中如何快速批量插入,第1张

可以使用jdbc预编译+批量更新,这样的执行效率最高。

具体是这样使用的:

循环2000条数据例如数据被装到了一个名叫dataList的List<Map<String,String>>中,那么批量更新就是这样执行的

Map map = null

String data1= ""

String data2 = ""

String sql = insert into biao values(?,?)

PreparedStatement preStmt = conn.prepareStatement(sql)

for(i = 0i<dataList.size()i++){

map = dataList.get(i)

data1=map.get("data1")

data2 = map.get("data2")

preStmt.setString(1,data1)

preStmt.setString(2, data2)

preStmt.addBatch()

}

preStmt.executeBatch()

preStmt.clearBatch()

java向数据库中插入数据,可以使用mysql数据库,使用statement类来 *** 作数据库,示例如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

Connection conn = null

Statement st = null

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver")//加载驱动类

conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://<server_name>:<1433>", "name","pwd")

conn.setAutoCommit(false)

st = conn.createStatement()

// 模拟一个 str[i] = nd.getNodeValue().trim()

String[] str = new String[] { "aaa", "bbb", "ccc", "ddd", "eee","fff" }

String sqlStr = null

for (int i = 0i <str.lengthi++) {

sqlStr = "INSERT INTO <TABLENAME>(<COLNAME>)VALUES('" + str[i] + "')"//向数据库中插入数据

st.executeUpdate(sqlStr)

}

conn.commit()

} catch (Exception e) {

e.printStackTrace()

} finally {//释放数据库的资源

try {

if (st != null)

st.close()

if(conn != null &&!conn.isClosed()){

conn.close()

}

} catch (SQLException e) {

e.printStackTrace()

}

}


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

原文地址: http://outofmemory.cn/zaji/6116995.html

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

发表评论

登录后才能评论

评论列表(0条)

保存