简单写了下。你测试看看行不?
publicstaticvoid main(String[] args) {
Connection conn =getConn();
Statement stmt = null;
ResultSet rs = null;
try {
stmt = conncreateStatement();
List<String> arraylist = new ArrayList<String>();
int n = 0;
String sql=null;
//迭代List,批量入库,每迭代100次批量执行一次。
for(String str : arraylist){
if(n++ % 100 == 0){
stmtexecuteBatch();
}
sql = "insert into table (name) values ('"+str+"')";
stmtexecuteUpdate(sql);
}
//把最后%100不等于0的数据批量入库。
stmtexecuteBatch();
//提交。
conncommit();
//从数据库中读出
sql = "select name from table";
rs = stmtexecuteQuery(sql);
while(rsnext()){
Systemoutprintln(rsgetString(1));
}
} catch (SQLException e) {
try {
connrollback();
} catch (SQLException ex) {
exprintStackTrace();
}
eprintStackTrace();
}finally{
try {
if(rs != null){
rsclose();
rs = null;
}
if(stmt != null){
stmtclose();
stmt = null;
}
if(conn != null){
connclose();
conn = null;
}
} catch (SQLException e) {
eprintStackTrace();
}
}
}
//获取数据库连接
privatestatic Connection getConn(){
return null;
}
理论上说,不停地建立数据库连接、查询、断开数据库连接这种 *** 作是很慢的,所以把要查的东西放到Map中会快很多。但实际上我们多数情况下不会把数据查出来放到Map中,因为查询的数据往往很多,全都放到内存中去根本就不现实,就算你服务器100G的内存也不够用。所以我们通常的做法就是用数据连接池,具体做法我就不说了,用兴趣的话可以查查数据连接池。
Java一般有以下几种遍历数组元素的方法:
1根据下标遍历(即为传统的for循环遍历)
for(int i = 0; i < testlength; i++){systemoutprintln(test[i])}这种方法简单粗暴易使用
2foreach遍历
3迭代器遍历
4stream遍历
import javasqlConnection;
import javasqlDriverManager;
import javasqlPreparedStatement;
import javasqlResultSet;
import javasqlSQLException;
//stmtexecuteUpdate("create table People(name varchar(255),A int,B int)");
//stmtexecuteUpdate("insert into People values('张三',1,0)");
//stmtexecuteUpdate("insert into People values('李四',2,1)");
//stmtexecuteUpdate("insert into People values('王五',3,1)");
//stmtexecuteUpdate("insert into People values('赵云',4,2)");
//stmtexecuteUpdate("insert into People values('张飞',5,3)");
public class Test {
private static void query(Connection conn,String sql,int a) {
PreparedStatement stmt = null;
ResultSet rs = null;
try {
stmt = connprepareStatement(sql);
stmtsetInt(1, a);
rs = stmtexecuteQuery();
while (rsnext()) {
Systemoutprintln(rsgetString("name")+":"+rsgetInt("A"));
query(conn,sql,rsgetInt("A"));
}
} catch (SQLException e) {
eprintStackTrace();
} finally {
if (rs != null) {
try {
rsclose();
rs=null;
Systemoutprintln(a+":rs closed");
} catch (SQLException e) {
eprintStackTrace();
}
}
if (stmt != null) {
try {
stmtclose();
stmt=null;
Systemoutprintln(a+":stmt closed");
} catch (SQLException e) {
eprintStackTrace();
}
}
}
Systemoutprintln("===============================");
}
public static void main(String[] args) {
Connection conn = null;
try {
conn = DriverManagergetConnection("jdbc:derby:E:/Derby/test");
String sql="select from people where B=";
query(conn,sql, 1);
} catch (SQLException e) {
eprintStackTrace();
} finally {
if (conn != null) {
try {
connclose();
Systemoutprintln("Connection关闭。");
} catch (SQLException e) {
eprintStackTrace();
}
}
}
}
}
for循环就可以了
public static void main(String[] args) {
String[] temp = {"aa","bb","cc"};
for(int i=0;i<templength;i++){
Systemoutprintln(temp[i]);
}
}
以上就是关于Java遍历arraylist后储存为到数据库mysql里的一个column里,怎么弄全部的内容,包括:Java遍历arraylist后储存为到数据库mysql里的一个column里,怎么弄、java中是把数据库的数据都查出来遍历到map里面在查找快,还是一遍一遍的根据响应的字段查找快、Java 遍历数组元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)