- JDBC 4.0 and Oracle JDeveloper for J2EE Development
- Deepak Vohra
- 344字
- 2021-08-25 18:08:44
Transactions
A transaction is a group of one or more statements run as a unit. If the default value of auto-commit
is set to true
, then each Statement
that would be run represents a transaction. After each statement is run, changes to the database are made with the auto-commit
set to true
. Set the auto-commit
to false, if a developer requires a group of statements to be run together. Changes to the database are not made till each of the statement has run. If auto-commit
is set to false
, the changes to the database are committed with the commit()
method. The commit()
method commits the SQL statements run after the previous commit to the database was made. The group of statements run between two consecutive commits to the database represents a transaction. The rollback()
method rolls back the changes made in the current transaction. A transaction may be required to be rolled back, if an error or a SQLException
is generated.
While one transaction is modifying a database table, another transaction could be reading from the same table. The type of read can be dirty-read, a non-repeatable read, or a phantom read. A dirty-read occurs when a row has been modified by a transaction, but has not been committed, and is being read by a different transaction. If the transaction that modifies the row rolls back the transaction, then the value retrieved by the second transaction would be erroneous. A non-repeatable transaction occurs when one transaction reads a row while the other transaction modifies it. The first transaction re-reads the row obtaining a different value. A phantom read occurs when one transaction retrieves a result set with a WHERE
condition, while the other transaction adds a row that meets the WHERE
condition. The first transaction re-runs to generate a result set that has an additional row. The default transaction level can be obtained with the getTransactionLevel()
method:
int transactionLevel=connection. getTransactionIsolation();
The different transaction isolation levels are listed in following table:

The transaction isolation level can be set with the setTransactionIsolation(int level)
method:
connection.setTransactionIsolation(level);
- 常用工具軟件案例教程
- IBM Rational ClearCase 7.0: Master the Tools That Monitor, Analyze, and Manage Software Configurations
- 中文版SolidWorks 2015技術大全
- Photoshop CC摳圖+修圖+調色+合成+特效標準培訓教程(全視頻微課版)
- AIGC輔助數據分析與挖掘:基于ChatGPT的方法與實踐
- 視覺封王:Photoshop CC 2019立體化教程(素材+視頻+教案)
- 平面設計制作標準教程(微課版 第2版)
- 3dsMax 2018動畫制作基礎教程(第4版)
- Scribus 1.3.5: Beginner's Guide
- SketchUP草圖繪制從新手到高手
- Flash CS6 動畫制作實戰從入門到精通
- 計算機圖形學編程(使用OpenGL和C++)
- Panda3d 1.7 Game Developer's Cookbook
- Stata統計分析從入門到精通
- Agile Web Application Development with Yii1.1 and PHP5