首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

运用JDBC的批处理功能

2012-11-04 
使用JDBC的批处理功能批处理,可以大幅度提升大量增,删,改的速度?public class BatchTest {public static v

使用JDBC的批处理功能

批处理,可以大幅度提升大量增,删,改的速度

?

public class BatchTest {public static void main(String[] args) throws SQLException {long start = System.currentTimeMillis();for (int i = 0; i < 100; i++)create(i);long end = System.currentTimeMillis();System.out.println("create:" + (end - start));start = System.currentTimeMillis();createBatch();end = System.currentTimeMillis();System.out.println("createBatch:" + (end - start));}static void create(int i) throws SQLException {Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {conn = JdbcUtils.getConnection();String sql = "insert into user(name, birthday, money) values (?, ?, ?) ";ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);ps.setString(1, "no batch name" + i);ps.setDate(2, new Date(System.currentTimeMillis()));ps.setFloat(3, 100f + i);ps.executeUpdate();} finally {JdbcUtils.free(rs, ps, conn);}}// 批处理static void createBatch() throws SQLException {Connection conn = null;PreparedStatement ps = null;ResultSet rs = null;try {conn = JdbcUtils.getConnection();String sql = "insert into user(name,birthday, money) values (?, ?, ?) ";ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);for (int i = 0; i < 100; i++) {ps.setString(1, "batch name" + i);ps.setDate(2, new Date(System.currentTimeMillis()));ps.setFloat(3, 100f + i);ps.addBatch();}ps.executeBatch();} finally {JdbcUtils.free(rs, ps, conn);}}}

热点排行