关键词搜索

源码搜索 ×
×

jdbc的批量操作

发布2014-12-22浏览1813次

详情内容

  1. package lavasoft.jdbctest;
  2. import lavasoft.common.DBToolkit;
  3. import java.sql.Connection;
  4. import java.sql.PreparedStatement;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7. /**
  8. * JDBC的批量操作三种方式
  9. *
  10. * @author leizhimin 2009-12-4 14:42:11
  11. */
  12. public class BatchExeSQLTest {
  13. public static void main(String[] args) {
  14. exeBatchStaticSQL();
  15. }
  16. /**
  17. * 批量执行预定义模式的SQL
  18. */
  19. public static void exeBatchParparedSQL() {
  20. Connection conn = null;
  21. try {
  22. conn = DBToolkit.getConnection();
  23. String sql = "insert into testdb.book (kind, name) values (?,?)";
  24. PreparedStatement pstmt = conn.prepareStatement(sql);
  25. pstmt.setString(1, "java");
  26. pstmt.setString(2, "jjjj");
  27. pstmt.addBatch(); //添加一次预定义参数
  28. pstmt.setString(1, "ccc");
  29. pstmt.setString(2, "dddd");
  30. pstmt.addBatch(); //再添加一次预定义参数
  31. //批量执行预定义SQL
  32. pstmt.executeBatch();
  33. } catch (SQLException e) {
  34. e.printStackTrace();
  35. } finally {
  36. DBToolkit.closeConnection(conn);
  37. }
  38. }
  39. /**
  40. * 批量执行混合模式的SQL、有预定义的,还有静态的
  41. */
  42. public static void exeBatchMixedSQL() {
  43. Connection conn = null;
  44. try {
  45. conn = DBToolkit.getConnection();
  46. String sql = "insert into testdb.book (kind, name) values (?,?)";
  47. PreparedStatement pstmt = conn.prepareStatement(sql);
  48. pstmt.setString(1, "java");
  49. pstmt.setString(2, "jjjj");
  50. pstmt.addBatch(); //添加一次预定义参数
  51. pstmt.setString(1, "ccc");
  52. pstmt.setString(2, "dddd");
  53. pstmt.addBatch(); //再添加一次预定义参数
  54. //添加一次静态SQL
  55. pstmt.addBatch("update testdb.book set kind = 'JAVA' where kind='java'");
  56. //批量执行预定义SQL
  57. pstmt.executeBatch();
  58. } catch (SQLException e) {
  59. e.printStackTrace();
  60. } finally {
  61. DBToolkit.closeConnection(conn);
  62. }
  63. }
  64. /**
  65. * 执行批量静态的SQL
  66. */
  67. public static void exeBatchStaticSQL() {
  68. Connection conn = null;
  69. try {
  70. conn = DBToolkit.getConnection();
  71. Statement stmt = conn.createStatement();
  72. //连续添加多条静态SQL
  73. stmt.addBatch("insert into testdb.book (kind, name) values ('java', 'java in aciton')"); //后面不要加分号
  74. stmt.addBatch("insert into testdb.book (kind, name) values ('c', 'c in aciton')");
  75. stmt.addBatch("delete from testdb.book where kind ='C#'");
  76. stmt.addBatch("update testdb.book set kind = 'JAVA' where kind='java'");
  77. // stmt.addBatch("select count(*) from testdb.book"); //批量执行不支持Select语句
  78. //执行批量执行
  79. stmt.executeBatch();
  80. } catch (SQLException e) {
  81. e.printStackTrace();
  82. } finally {
  83. DBToolkit.closeConnection(conn);
  84. }
  85. }
  86. }

相关技术文章

最新源码

下载排行榜

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载