具体是这样使用的:
循环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()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)