java利用jdbc更新数据的几种方式比较


public void test(Connection conn) {

		try {
			// 最慢的更新方式
			Statement st = conn.createStatement();
			for (int i = 0; i < 10000; i++) {
				String sql = "insert into t1(id) values (" + i + ")";
				st.executeUpdate(sql);
			}
			st.close();

			// 较快的更新方式
			String sql = "insert into t1(id) values (?)";
			PreparedStatement pst = conn.prepareStatement(sql);
			for (int i = 0; i < 10000; i++) {
				pst.setInt(1, 1000);
				pst.execute();
			}
			conn.commit();
			pst.close();

			// 再快的更新方式
			String sql2 = "insert into t1(id) values (?)";
			PreparedStatement pst2 = conn.prepareStatement(sql);
			for (int i = 0; i < 10000; i++) {
				pst2.setInt(1, 1000);
				pst2.addBatch();
				if (i % 100 == 0) {
					pst2.executeBatch();
					conn.commit();
					pst2.clearBatch();
				}
			}

			pst2.executeBatch();
			conn.commit();
			pst.close();
			conn.close();

		} catch (Exception e) {
			e.printStackTrace();
		}

	}

你可能感兴趣的:(java利用jdbc更新数据的几种方式比较)