`
JinLoveJava
  • 浏览: 23477 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

JDBC简单的处理事务和批处理

    博客分类:
  • JDBC
阅读更多
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.} 
分享到:
评论

相关推荐

    使用JDBC的批处理功能

    2. 错误处理:如果批处理中某个语句失败,可以捕获BatchUpdateException来获取失败的索引,以便定位和处理问题。 3. 调试和日志:在开发阶段,可以开启JDBC的调试日志,查看SQL执行情况,以优化批处理性能。 通过...

    03-JDBC-事务及批处理.xmind

    JDBC进阶2

    jdbc 增删改查事物处理, 批处理,以及预编译示例代码

    在Java数据库连接(JDBC)中,增删改查(CRUD)操作是与数据库交互的基础,事务处理、批处理和预编译SQL语句则是提高效率和保证数据一致性的关键技术。以下是对这些概念的详细说明: 1. **JDBC增删改查(CRUD)**:...

    JDBC详解(连接操作数据库、处理大数据、批处理)

    ### JDBC详解:连接操作数据库、处理大数据、批处理 #### 一、JDBC简介 JDBC,全称为Java DataBase Connectivity(Java数据库连接),是Sun公司(现已被Oracle收购)为了解决不同数据库间的操作差异性而设计的一套...

    JDBC进行批处理共4页.pdf.zip

    在Java数据库连接(Java Database Connectivity, JDBC)中,批处理是一项重要的功能,它允许开发者一次性提交多个SQL语句,从而提高数据处理的效率和性能。批处理是数据库操作中的优化手段,尤其在处理大量数据时,...

    jdbc 批处理.rar

    在Java数据库连接(JDBC)中,批处理是一项重要的功能,它允许开发人员一次提交多个SQL语句,而不是逐个执行它们。批处理可以显著提高应用程序的性能,尤其是在需要大量数据操作时。"jdbc 批处理.rar"这个压缩包很...

    JDBC使用MySQL处理大数据+事务控制管理.txt

    本文详细介绍了如何使用JDBC结合MySQL处理大数据,并通过批处理技术和事务管理来提高系统的性能和数据一致性。通过合理配置参数以及正确使用JDBC API,可以有效地提升大数据处理的效率。此外,对于事务管理的理解和...

    JDBC笔记 方立勋

    笔记会详细阐述JDBC中的事务控制,包括手动开启和关闭事务,以及异常处理与回滚操作。此外,还将涉及并发控制和锁的概念。 批处理操作是提高数据库性能的有效手段。笔记会解释如何使用addBatch()和executeBatch()...

    MySQL_4_JDBC高级操作和事务1

    **JDBC事务操作** 在Java中,你可以使用Connection对象的`setAutoCommit()`方法来开启或关闭自动提交。关闭自动提交后,你需要手动调用`commit()`来提交事务,或者在发生错误时调用`rollback()`来回滚事务。例如: ...

    异常处理和JDBC

    此外,JDBC还支持事务处理,确保一组数据库操作要么全部成功,要么全部失败。 6. **静态和通用数据类型**:JDBC将数据库的特定数据类型映射到Java的静态数据类型,如`java.sql.Date`、`java.sql.Time`和`java.sql....

    Mybatis与JDBC批量插入MySQL数据库性能测试

    2. **事务大小**:在JDBC中,可以通过设置合适的批处理大小来平衡性能和内存消耗。在Mybatis中,批处理的大小由flushStatements()的调用频率决定。 3. **数据库配置**:如InnoDB引擎的缓冲池大小、重做日志大小等,...

    java批处理

    1. **批处理框架**:Java世界中有许多批处理框架,如Spring Batch和Apache Batchee,它们提供了完整的批处理生命周期管理,包括读取、处理和写入数据,以及错误处理和事务管理。 2. **数据分块**:为了处理大数据,...

    JDBCDriver3.0.rar_jdbc driver 3.0_sql jdbc 3.0_sql server jdbc_s

    此版本的驱动程序支持最新的SQL标准,并提供了对多种数据库特性的广泛支持,如存储过程、事务处理、批处理操作等。 首先,JDBC Driver 3.0分为四种类型:Type 1、Type 2、Type 3和Type 4。在SQL Server JDBC中,...

    spring batch批处理 教程

    Spring Batch 是一个强大的批处理框架,它为Java开发者提供了处理大量数据的能力,广泛应用于企业级应用和大数据处理中。在本文中,我们将深入探讨Spring Batch的各个方面,包括其概念、结构、执行流程以及如何在...

    Spring Batch批处理框架

    而ItemReader、ItemProcessor和ItemWriter则是分别用于读取数据、处理数据和写入数据的组件,它们通常协同工作来处理批处理中的大量数据。 2. 架构组件 Spring Batch提供了多种架构组件来支持批处理作业的不同运行...

    JDBC开发人员指南和参考

    1. **JDBC批处理API增强**: JDBC 4.0引入了批处理异常处理,可以单独处理每个失败的批处理命令。 2. **RowSet**: 支持离线处理和缓存,如CachedRowSet,可以在没有连接的情况下操作数据。 3. **JDBC与JPA/EJB结合*...

    jdbc jdbc jdbc

    它由Sun Microsystems(现为Oracle公司)开发并定义,作为Java平台的一部分,允许Java应用程序通过编写Java代码来访问和处理数据库数据。JDBC是Java开发者连接、查询、更新和管理数据库系统的关键工具。 在Java中,...

    关于hibernate的批处理

    这减少了网络传输和数据库事务处理的开销,提高了整体性能。 2. **Hibernate批处理设置**: Hibernate通过`hibernate.jdbc.batch_size`配置属性来设定批处理大小,例如设置为20表示每次提交20个SQL语句。默认值通常...

    spring-jdbc jar包.rar

    总的来说,"spring-jdbc jar包"为开发者提供了一个强大且灵活的JDBC抽象层,使得在Java应用中进行数据库操作变得更加简单、高效和可靠。无论是在小型项目还是大型企业级应用中,Spring JDBC都是构建数据访问层的理想...

    JDBC简单的资料

    **JDBC基础与应用** Java Database ...无论是简单的CRUD操作,还是复杂的数据库交互,JDBC都能提供可靠的工具和支持。在实际项目中,结合Java的ORM框架(如Hibernate、MyBatis),可以更高效地进行数据库操作。

Global site tag (gtag.js) - Google Analytics