首页 > 学院 > 开发设计 > 正文

jdbc之批处理

2019-11-10 21:53:46
字体:
来源:转载
供稿:网友

当需要向数据库发送一批sql指令时,应该避免一条一条的向数据库发送命令,而应该采用jdbc的批处理机制,以提升效率。

jdbc提供两种批处理机制:

第一种:

statement.addbatch(sql);,这个方法返回一个list集合,执行批处理指令------executeBatch(),之后调用clearBatch(),清理批。

Connection conn = null;Statement st = null;ResultSet rs = null;try {conn = JdbcUtil.getConnection();String sql1 = "insert into user(name,passWord,email,birthday) 	values('kkk','123','abc@sina.com','1978-08-08')";String sql2 = "update user set password='123456' where id=3";st = conn.createStatement();st.addBatch(sql1);  //把SQL语句加入到批命令中st.addBatch(sql2);  //把SQL语句加入到批命令中st.executeBatch();} finally{	JdbcUtil.free(conn, st, rs);}采用这种方法的缺点是:没有预编译sql语句,还有就是,当要向数据库发送多条命令相同而参数不同的sql指令是,需要重复写很多次sql指令,过于繁琐。

第二种:

PReparedStatement.addBatch(),优点:发送的是预编译后的SQL语句,执行效率高。缺点:只能应用在SQL语句相同,但参数不同的批处理中。因此此种形式的批处理经常用于在同一个表中批量插入数据,或批量更新表的数据。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表