01.package SecondStep;
02.
03.import java.sql.*;
04.
05./**
06. *
07. * 处理事务transaction 同时执行了批处理 addBatch 和
08. *
09. */
10.public class GeDemo6 {
11. public static void main(String[] args) {
12. Connection connection = null;
13. Statement statement = null;
14.
15. try {
16. Class.forName("com.mysql.jdbc.Driver");
17.
18. String url = "jdbc:mysql://localhost:3306/test";
19.
20. String user = "root";
21.
22. String password = "123";
23.
24. connection = DriverManager.getConnection(url, user, password);
25.
26. // 禁用自动提交模式
27. connection.setAutoCommit(false);
28.
29. statement = connection.createStatement();
30.
31. // 执行这两条SQL语句 如果 其中一条出现错误 那么进入异常处理 回滚事务
32. statement
33. .addBatch("insert into testtable(username,password) values('admindemo7','123456')");
34. statement
35. .addBatch("insert into testtable(username,password) values('admindemo6','456456')");
36.
37. // 将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组
38. statement.executeBatch();
39.
40. // 手动提交事务
41. connection.commit();
42.
43. // 事务提交成功 启用自动提交模式
44. connection.setAutoCommit(true);
45. } catch (ClassNotFoundException e) {
46. e.printStackTrace();
47. } catch (SQLException e) {
48. e.printStackTrace();
49. // 异常处理 回滚事务
50. try {
51. if (connection != null) {
52. // 回滚事务
53. connection.rollback();
54. // 启用自动提交模式
55. connection.setAutoCommit(true);
56. }
57. } catch (SQLException el2) {
58. el2.printStackTrace();
59. } catch (Exception el3) {
60. el3.printStackTrace();
61. }
62. } catch (Exception e) {
63. e.printStackTrace();
64. } finally {
65. try {
66. if (statement != null) {
67. statement.close();
68. }
69. if (connection != null) {
70. connection.close();
71. }
72. } catch (SQLException e) {
73. e.printStackTrace();
74. } catch (Exception e) {
75. e.printStackTrace();
76. }
77. }
78. }
79.}
分享到:
相关推荐
2. 错误处理:如果批处理中某个语句失败,可以捕获BatchUpdateException来获取失败的索引,以便定位和处理问题。 3. 调试和日志:在开发阶段,可以开启JDBC的调试日志,查看SQL执行情况,以优化批处理性能。 通过...
JDBC进阶2
在Java数据库连接(JDBC)中,增删改查(CRUD)操作是与数据库交互的基础,事务处理、批处理和预编译SQL语句则是提高效率和保证数据一致性的关键技术。以下是对这些概念的详细说明: 1. **JDBC增删改查(CRUD)**:...
### JDBC详解:连接操作数据库、处理大数据、批处理 #### 一、JDBC简介 JDBC,全称为Java DataBase Connectivity(Java数据库连接),是Sun公司(现已被Oracle收购)为了解决不同数据库间的操作差异性而设计的一套...
在Java数据库连接(Java Database Connectivity, JDBC)中,批处理是一项重要的功能,它允许开发者一次性提交多个SQL语句,从而提高数据处理的效率和性能。批处理是数据库操作中的优化手段,尤其在处理大量数据时,...
在Java数据库连接(JDBC)中,批处理是一项重要的功能,它允许开发人员一次提交多个SQL语句,而不是逐个执行它们。批处理可以显著提高应用程序的性能,尤其是在需要大量数据操作时。"jdbc 批处理.rar"这个压缩包很...
本文详细介绍了如何使用JDBC结合MySQL处理大数据,并通过批处理技术和事务管理来提高系统的性能和数据一致性。通过合理配置参数以及正确使用JDBC API,可以有效地提升大数据处理的效率。此外,对于事务管理的理解和...
笔记会详细阐述JDBC中的事务控制,包括手动开启和关闭事务,以及异常处理与回滚操作。此外,还将涉及并发控制和锁的概念。 批处理操作是提高数据库性能的有效手段。笔记会解释如何使用addBatch()和executeBatch()...
**JDBC事务操作** 在Java中,你可以使用Connection对象的`setAutoCommit()`方法来开启或关闭自动提交。关闭自动提交后,你需要手动调用`commit()`来提交事务,或者在发生错误时调用`rollback()`来回滚事务。例如: ...
此外,JDBC还支持事务处理,确保一组数据库操作要么全部成功,要么全部失败。 6. **静态和通用数据类型**:JDBC将数据库的特定数据类型映射到Java的静态数据类型,如`java.sql.Date`、`java.sql.Time`和`java.sql....
2. **事务大小**:在JDBC中,可以通过设置合适的批处理大小来平衡性能和内存消耗。在Mybatis中,批处理的大小由flushStatements()的调用频率决定。 3. **数据库配置**:如InnoDB引擎的缓冲池大小、重做日志大小等,...
1. **批处理框架**:Java世界中有许多批处理框架,如Spring Batch和Apache Batchee,它们提供了完整的批处理生命周期管理,包括读取、处理和写入数据,以及错误处理和事务管理。 2. **数据分块**:为了处理大数据,...
此版本的驱动程序支持最新的SQL标准,并提供了对多种数据库特性的广泛支持,如存储过程、事务处理、批处理操作等。 首先,JDBC Driver 3.0分为四种类型:Type 1、Type 2、Type 3和Type 4。在SQL Server JDBC中,...
Spring Batch 是一个强大的批处理框架,它为Java开发者提供了处理大量数据的能力,广泛应用于企业级应用和大数据处理中。在本文中,我们将深入探讨Spring Batch的各个方面,包括其概念、结构、执行流程以及如何在...
而ItemReader、ItemProcessor和ItemWriter则是分别用于读取数据、处理数据和写入数据的组件,它们通常协同工作来处理批处理中的大量数据。 2. 架构组件 Spring Batch提供了多种架构组件来支持批处理作业的不同运行...
1. **JDBC批处理API增强**: JDBC 4.0引入了批处理异常处理,可以单独处理每个失败的批处理命令。 2. **RowSet**: 支持离线处理和缓存,如CachedRowSet,可以在没有连接的情况下操作数据。 3. **JDBC与JPA/EJB结合*...
它由Sun Microsystems(现为Oracle公司)开发并定义,作为Java平台的一部分,允许Java应用程序通过编写Java代码来访问和处理数据库数据。JDBC是Java开发者连接、查询、更新和管理数据库系统的关键工具。 在Java中,...
这减少了网络传输和数据库事务处理的开销,提高了整体性能。 2. **Hibernate批处理设置**: Hibernate通过`hibernate.jdbc.batch_size`配置属性来设定批处理大小,例如设置为20表示每次提交20个SQL语句。默认值通常...
总的来说,"spring-jdbc jar包"为开发者提供了一个强大且灵活的JDBC抽象层,使得在Java应用中进行数据库操作变得更加简单、高效和可靠。无论是在小型项目还是大型企业级应用中,Spring JDBC都是构建数据访问层的理想...
**JDBC基础与应用** Java Database ...无论是简单的CRUD操作,还是复杂的数据库交互,JDBC都能提供可靠的工具和支持。在实际项目中,结合Java的ORM框架(如Hibernate、MyBatis),可以更高效地进行数据库操作。