//create1 速度较慢,create2较快,但是要根据数据库不同来决定
//ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); ps可以获取 id
package cn.itcast.batch;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import cn.itcast.JdbcUtils;
import cn.itcast.user.DaoExcetpion;
import cn.itcast.user.User;
public class BatchTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
public static void create(int i) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = JdbcUtils.getConnection();
String sql = "insert into t_user(username,password) values (?,?) ";
ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, "batch name" + i);
ps.setString(2, "password1");
ps.executeUpdate();
// 可以利用注析代码为bean赋值,id赋值,不用return
// rs=ps.getGeneratedKeys();
// int id=0;
// if(rs.next()){
// id = rs.getInt(1);
// }
// return id;
} catch (SQLException e) {
throw new DaoExcetpion(e.getMessage(), e);
} finally {
JdbcUtils.free(rs, ps, conn);
}
}
public static void create2(int i) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
conn = JdbcUtils.getConnection();
String sql = "insert into t_user(username,password) values (?,?) ";
ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
for (int y = 0; y < 100; y++) {
ps.setString(1, "batch name " + i);
ps.setString(2, "batch password " + i);
ps.addBatch();
}
int[] iS = ps.executeBatch();
// ps.executeUpdate();
} catch (SQLException e) {
throw new DaoExcetpion(e.getMessage(), e);
} finally {
JdbcUtils.free(rs, ps, conn);
}
}
}