JDBC批处理操作

来源:互联网 发布:工业设计可以用mac吗 编辑:程序博客网 时间:2024/04/29 15:47

Admin.java

//实体类封装数据public class Admin {private String userName;private String pwd;public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}}

AdminDao.java

public class AdminDao {// 全局参数private Connection con;private PreparedStatement pstmt;private ResultSet rs;// 批量保存管理员public void save(List<Admin> list) {// SQLString sql = "INSERT INTO admin(userName,pwd) values(?,?)";try {// 获取连接con = JdbcUtil.getConnection();// 创建stmt pstmt = con.prepareStatement(sql);   // 【预编译SQL语句】for (int i=0; i<list.size(); i++) {Admin admin = list.get(i);// 设置参数pstmt.setString(1, admin.getUserName());pstmt.setString(2, admin.getPwd());// 添加批处理pstmt.addBatch();// 【不需要传入SQL】// 测试:每5条执行一次批处理if (i % 5 == 0) {// 批量执行 pstmt.executeBatch();// 清空批处理pstmt.clearBatch();}}// 批量执行 pstmt.executeBatch();// 清空批处理pstmt.clearBatch();} catch (Exception e) {e.printStackTrace();} finally {JdbcUtil.closeAll(con, pstmt, rs);}}}

App.java

public class App {// 测试批处理操作@Testpublic void testBatch() throws Exception {// 模拟数据List<Admin> list = new ArrayList<Admin>();for (int i=1; i<21; i++) {Admin admin = new Admin();admin.setUserName("Jack" + i);admin.setPwd("888" + i);list.add(admin);}// 保存AdminDao dao = new AdminDao();dao.save(list);}}


0 0
原创粉丝点击