JDBC批处理addBatch

批处理相关方法

void addBatch(String sql)     添加批处理

void clearBatch()            清空批处理

int[] executeBatch()         执行批处理

	public void save(List<Admin> list) {
		// SQL
		String 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);
		}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用JDBC批处理操作需要以下步骤: 1. 创建一个Connection对象,连接到数据库。 2. 创建一个Statement对象,用于执行SQL语句。 3. 将多个SQL语句添加到批处理中,使用addBatch方法。 4. 执行批处理,使用executeBatch方法。 5. 关闭Statement对象和Connection对象。 下面是一个简单的示例代码,展示如何使用JDBC批处理操作: ```java // 创建Connection对象 Connection conn = DriverManager.getConnection(url, username, password); // 创建Statement对象 Statement stmt = conn.createStatement(); // 添加多个SQL语句到批处理中 stmt.addBatch("INSERT INTO users (id, name) VALUES (1, 'Alice')"); stmt.addBatch("INSERT INTO users (id, name) VALUES (2, 'Bob')"); stmt.addBatch("INSERT INTO users (id, name) VALUES (3, 'Charlie')"); // 执行批处理 int[] results = stmt.executeBatch(); // 关闭Statement对象和Connection对象 stmt.close(); conn.close(); ``` 在上面的示例代码中,我们首先创建了一个Connection对象,连接到数据库。然后创建了一个Statement对象,将多个SQL语句添加到批处理中。最后执行批处理,使用executeBatch方法。在执行完批处理之后,我们关闭了Statement对象和Connection对象。 需要注意的是,JDBC批处理操作一般适用于需要处理大量数据的情况,对于小批量数据的处理,使用单条SQL语句执行会更加高效。同时,在使用JDBC批处理操作时,需要注意数据库的限制和性能,以确保数据处理的效率和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值