`
zhaohaolin
  • 浏览: 1011327 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jdbc查看数据库事务隔离级别

阅读更多

jdbc查看数据库事务隔离级别

数据库事务 2009-07-04 15:22:53 阅读111 评论0  字号: 订阅

public static void main(String[] args) {
 String driverClass = "net.sourceforge.jtds.jdbc.Driver";
 // driverClass = "com.mysql.jdbc.Driver";
 driverClass = "oracle.jdbc.driver.OracleDriver";

 String url = "jdbc:jtds:sqlserver://localhost:1433;DatabaseName=zypsb";
 // url =
 // "jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=gb2312";
 url = "jdbc:oracle:thin:@localhost:1521:SUNJUN";
 try {
  Class.forName(driverClass);
  Connection con = DriverManager.getConnection(url, "system",
    "sunjun");
  DatabaseMetaData dbmt = con.getMetaData();
  System.out.println(dbmt.supportsTransactions());
  // 0
  if (dbmt
    .supportsTransactionIsolationLevel(Connection.TRANSACTION_NONE))
   System.out.println("TRANSACTION_NONE");
  // 1
  if (dbmt
    .supportsTransactionIsolationLevel(Connection.TRANSACTION_READ_UNCOMMITTED))
   System.out.println("TRANSACTION_READ_UNCOMMITTED");
  // 2
  if (dbmt
    .supportsTransactionIsolationLevel(Connection.TRANSACTION_READ_COMMITTED))
   System.out.println("TRANSACTION_READ_COMMITTED");
  // 4
  if (dbmt
    .supportsTransactionIsolationLevel(Connection.TRANSACTION_REPEATABLE_READ))
   System.out.println("TRANSACTION_REPEATABLE_READ");
  // 8
  if (dbmt
    .supportsTransactionIsolationLevel(Connection.TRANSACTION_SERIALIZABLE))
   System.out.println("TRANSACTION_SERIALIZABLE");
  System.out.println(dbmt.getDefaultTransactionIsolation());
 } catch (Exception e) {
  e.printStackTrace();
 }
}

---------------------------------------------------------------------------------------------------
sqlserver  2000
true
TRANSACTION_READ_UNCOMMITTED  1
TRANSACTION_READ_COMMITTED  2
TRANSACTION_REPEATABLE_READ  4
TRANSACTION_SERIALIZABLE    8
2

---------------------------------------------------------------------------------------------------
mysql 5.0
true
TRANSACTION_READ_UNCOMMITTED  1
TRANSACTION_READ_COMMITTED  2
TRANSACTION_REPEATABLE_READ  4
TRANSACTION_SERIALIZABLE    8
2

---------------------------------------------------------------------------------------------------
oracle 10g
true
TRANSACTION_READ_COMMITTED  2
TRANSACTION_SERIALIZABLE    8

2

分享到:
评论

相关推荐

    JDBC事务 JTA事务 传播特性 隔离级别

    **JDBC事务**主要针对单个数据库连接,由数据库管理系统(DBMS)自身管理事务。JDBC提供了`Connection`对象的`commit()`和`rollback()`方法用于提交和回滚事务。这是简单的单阶段提交,适用于单一数据源的情况。 **...

    JDBC专题(六)-JDBC专题-事务的隔离级别.docx

    MySQL数据库默认的事务隔离级别是 `REPEATABLE READ`。 #### 结论 综上所述,事务及其四大特性对于确保数据库操作的正确性至关重要。通过合理设置事务的隔离级别,可以有效防止并发操作中可能出现的各种问题,从而...

    图解JDBC配置数据库

    JDBC支持四大事务隔离级别:读未提交(READ UNCOMMITTED)、读已提交(READ COMMITTED)、可重复读(REPEATABLE READ)和串行化(SERIALIZABLE)。通过`Connection.setTransactionIsolation()`设置。 ### 6. 错误...

    数据库概论实验范文实验八:通过JDBC方式访问数据库

    实验八的主题是“通过JDBC方式访问数据库”,这是数据库概论课程中的一项重要...此外,实验可能还涵盖了事务处理,如ACID属性(原子性、一致性、隔离性和持久性),以及异常处理,这些都是在实际开发中必不可少的技能。

    JDBC的事务初探

    JDBC支持四种事务隔离级别: 1. **读未提交(READ UNCOMMITTED)**:最低级别,可能读到未提交的数据,可能出现脏读、不可重复读和幻读。 2. **读已提交(READ COMMITTED)**:防止脏读,但可能产生不可重复读。 3....

    JDBC与Java数据库程序设计

    - JDBC支持ACID事务属性:原子性、一致性、隔离性和持久性。 - 通过`Connection`的`setAutoCommit()`关闭自动提交,然后使用`commit()`和`rollback()`控制事务。 7. **批处理** - 多个SQL语句可以组成一个批处理...

    JDBC API数据库编程实作教材

    - 选择合适的事务隔离级别。 - 利用连接池管理数据库连接。 9. **JDBC API的高级特性** - CallableStatement用于调用存储过程。 - ResultSets的滚动和定位功能,允许前后移动甚至跳过某些行。 - 元数据API提供...

    JAVA数据库编程JDBC 与 Java数据库接口JDBC入门基础讲座 与 JDBC API数据库编程实作教材-程序设计-JAVA JDBC全压缩包.rar

    5. **事务管理**:理解事务的ACID属性(原子性、一致性、隔离性和持久性),以及如何在JDBC中控制事务的开始、提交和回滚。 6. **批处理**:批量执行SQL命令以提高效率。 7. **数据库元数据**:通过`Database...

    Spring Boot数据库事务控制.zip

    5. **事务隔离级别**:Spring支持数据库的四种标准隔离级别,即READ_UNCOMMITTED(读未提交)、READ_COMMITTED(读已提交)、REPEATABLE_READ(可重复读)和SERIALIZABLE(串行化)。不同的隔离级别对应不同的并发...

    JDBC链接Oracle数据库增删改查通用工具类

    开发者可能需要对工具类做些微调,以满足特定的事务控制需求,如设置事务隔离级别、处理异常时的回滚逻辑等。 文件列表中的: - log4j-1.2.8.jar:这是一个日志记录框架的实现,用于在程序运行时记录各种级别的日志...

    JDBC API数据库编程实作教程 PDF

    - 事务级别调整、批处理和预编译SQL等优化策略。 9. **数据库元数据** - `DatabaseMetaData`接口:获取数据库的元信息,如表结构、列信息等。 10. **JDBC与ORM框架的对比** - 如Hibernate、MyBatis等ORM框架...

    JDBC事务控制--讲述如何控制JDBC事务

    JDBC 支持四种不同的事务隔离级别,每种级别的隔离效果不同,可以根据具体的应用需求选择合适的级别: 1. **TRANSACTION_NONE**:不支持事务隔离。 2. **TRANSACTION_READ_UNCOMMITTED**:允许读取未提交的数据。 3...

    JDBC事务管理.docx

    在JDBC中,可以通过设置Connection对象的事务隔离级别来控制并发行为。例如,使用`setTransactionIsolation()`方法可以设置为`Connection.TRANSACTION_READ_COMMITTED`来实现读已提交的隔离级别,从而避免脏读。同时...

    Java用JDBC实现对Oracle数据库操作

    8. **优化技巧**:包括使用PreparedStatement避免SQL注入,合理设置批处理大小,使用连接池,以及使用合适的事务隔离级别等。 9. **Quartz Job与Oracle结合**:`quartz_job.xml`可能定义了Quartz作业,这些作业可能...

    JDBC与Java数据库编程

    JDBC支持ACID(原子性、一致性、隔离性和持久性)特性,提供了事务的开始、提交、回滚操作。在处理多条SQL语句时,可以使用beginTransaction()、commit()和rollback()方法来确保数据的一致性。 五、批处理 对于大量...

    【IT十八掌徐培成】Java基础第24天-03.事务并发现象-隔离级别2-表级锁-隔离级别API.zip

    Java中,JDBC提供了四种事务隔离级别: 1. 读未提交(Read Uncommitted):允许读取尚未提交的数据,可能导致脏读。 2. 读已提交(Read Committed):每次读取的都是事务提交后的最新数据,防止了脏读,但可能有不...

    Java-jdbc数据库连接池总结.doc

    总的来说,Java JDBC数据库连接池是提升Web应用性能的重要技术,通过有效的连接管理和复用,它降低了数据库操作的开销,提升了系统的稳定性和响应速度。在开发过程中,选择合适的连接池实现,并对其进行合理配置,是...

    JDBC和hibernate事务的详解

    Hibernate支持的事务隔离级别与JDBC相同,可以通过配置`hibernate.connection.isolation`属性进行设置。 ### 3. 事务的并发处理 在多用户环境中,事务的并发处理至关重要。常见的并发问题包括: - **脏读(Dirty ...

Global site tag (gtag.js) - Google Analytics