Class JdbcTransaction
- java.lang.Object
-
- org.apache.ibatis.transaction.jdbc.JdbcTransaction
-
- All Implemented Interfaces:
Transaction
public class JdbcTransaction extends java.lang.Object implements Transaction
Transactionthat makes use of the JDBC commit and rollback facilities directly. It relies on the connection retrieved from the dataSource to manage the scope of the transaction. Delays connection retrieval until getConnection() is called. Ignores commit or rollback requests when autocommit is on.- Author:
- Clinton Begin
- See Also:
JdbcTransactionFactory
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanautoCommitprotected java.sql.Connectionconnectionprotected javax.sql.DataSourcedataSourceprotected TransactionIsolationLevellevel
-
Constructor Summary
Constructors Constructor Description JdbcTransaction(java.sql.Connection connection)JdbcTransaction(javax.sql.DataSource ds, TransactionIsolationLevel desiredLevel, boolean desiredAutoCommit)
-
Method Summary
Modifier and Type Method Description voidclose()Close inner database connection.voidcommit()Commit inner database connection.java.sql.ConnectiongetConnection()Retrieve inner database connection.java.lang.IntegergetTimeout()Get transaction timeout if set.protected voidopenConnection()protected voidresetAutoCommit()voidrollback()Rollback inner database connection.protected voidsetDesiredAutoCommit(boolean desiredAutoCommit)
-
-
-
Field Detail
-
connection
protected java.sql.Connection connection
-
dataSource
protected javax.sql.DataSource dataSource
-
level
protected TransactionIsolationLevel level
-
autoCommit
protected boolean autoCommit
-
-
Constructor Detail
-
JdbcTransaction
public JdbcTransaction(javax.sql.DataSource ds, TransactionIsolationLevel desiredLevel, boolean desiredAutoCommit)
-
JdbcTransaction
public JdbcTransaction(java.sql.Connection connection)
-
-
Method Detail
-
getConnection
public java.sql.Connection getConnection() throws java.sql.SQLExceptionDescription copied from interface:TransactionRetrieve inner database connection.- Specified by:
getConnectionin interfaceTransaction- Returns:
- DataBase connection
- Throws:
java.sql.SQLException
-
commit
public void commit() throws java.sql.SQLExceptionDescription copied from interface:TransactionCommit inner database connection.- Specified by:
commitin interfaceTransaction- Throws:
java.sql.SQLException
-
rollback
public void rollback() throws java.sql.SQLExceptionDescription copied from interface:TransactionRollback inner database connection.- Specified by:
rollbackin interfaceTransaction- Throws:
java.sql.SQLException
-
close
public void close() throws java.sql.SQLExceptionDescription copied from interface:TransactionClose inner database connection.- Specified by:
closein interfaceTransaction- Throws:
java.sql.SQLException
-
setDesiredAutoCommit
protected void setDesiredAutoCommit(boolean desiredAutoCommit)
-
resetAutoCommit
protected void resetAutoCommit()
-
openConnection
protected void openConnection() throws java.sql.SQLException- Throws:
java.sql.SQLException
-
getTimeout
public java.lang.Integer getTimeout() throws java.sql.SQLExceptionDescription copied from interface:TransactionGet transaction timeout if set.- Specified by:
getTimeoutin interfaceTransaction- Throws:
java.sql.SQLException
-
-