java+mysql如下
String sql = "select * from a";
ResultSet rs= statement.executeQuery(sql)第1个问题
现在我需要记录总数,找了半天没有看到方法,如何得到记录总数 (不会再来一次select count(×)吧)
第2个问题 我将使用批量更新的
PreparedStatement pst = (PreparedStatement) con.prepareStatement("insert into test04 values (?,'中国')");
while(startIndex < 620000) { --如果知道记录总数,就把总数替换这个620000
如何写每500次做一次批量更新
for (int i = 0; i < 500; i++) {
pst.setInt(1, i); // 把一个SQL命令加入命令列表
pst.addBatch();
}
// 执行批量更新
pst.executeBatch();
// 语句执行完毕,提交本事务
con.commit();
----这里需要如何修改
String sql = "select * from a";
ResultSet rs= statement.executeQuery(sql)第1个问题
现在我需要记录总数,找了半天没有看到方法,如何得到记录总数 (不会再来一次select count(×)吧)
第2个问题 我将使用批量更新的
PreparedStatement pst = (PreparedStatement) con.prepareStatement("insert into test04 values (?,'中国')");
while(startIndex < 620000) { --如果知道记录总数,就把总数替换这个620000
如何写每500次做一次批量更新
for (int i = 0; i < 500; i++) {
pst.setInt(1, i); // 把一个SQL命令加入命令列表
pst.addBatch();
}
// 执行批量更新
pst.executeBatch();
// 语句执行完毕,提交本事务
con.commit();
----这里需要如何修改
ResultSetMetaData md=rs.getMetaData();//rs是一个ResultSet
int cols=md.getColumnCount();//得到字段个数你这样写数据会500个500个重复改成这样
for(int i=1;i<620000;i++){
pst.setInt(1, i);
ps.addBatch();
if(i%500==0){
ps.executeBatch();
}
}
con.commit()
ResultSet rset = stmt.executeQuery("select * from yourTableName");
rset.last();
int rowCount = rset.getRow(); //获得ResultSet的总行数第二种:利用循环ResultSet的元素来获得ResultSet的总行数ResultSet rset = stmt.executeQuery("select * from yourTableName");
int rowCount = 0;
while(rset.next()) {
rowCount++;
}rowCount就是ResultSet的总行数。第三种:利用sql语句中的count函数获得ResultSet的总行数ResultSet rset = stmt.executeQuery("select count(*) totalCount from yourTableName");
int rowCount = 0;
if(rset.next()) {
rowCount=rset .getInt("totalCount ");
}PreparedStatement pst = (PreparedStatement) con.prepareStatement("insert into test04 values (?,'中国')");
while(rs.next())
pst.setInt(1, i);
// 把一个SQL命令加入命令列表
pst.addBatch();
}
// 执行批量更新
if(ntemp%500)==0 || ntemp=rs.recordcount
pst.executeBatch();
// 语句执行完毕,提交本事务
con.commit();
int rowCount = rs.getRow();
rs.first();
int nTemp=0;while(rs.next())
ntemp=ntemp+1
if(ntemp%500)==0 || ntemp= rowCount-1