Перейти к контенту

Метод Java Connection setTransactionIsolation()

В системе баз данных, в которой одновременно и параллельно выполняется более одной транзакции, свойство изоляции указывает, что все транзакции будут выполняться и выполняться так, как если бы это была единственная транзакция в системе. Никакая транзакция не повлияет на существование любой другой транзакции.

JDBC обеспечивает поддержку 5 уровней изоляции транзакций через интерфейс подключения.

 

  • TRANSACTION_NONE: он представлен целочисленным значением 0, не поддерживает транзакции.
  • TRANSACTION_READ_COMMITTED: Он представлен целочисленным значением 2, поддерживает транзакции, допускающие неповторяющиеся чтения и фантомные чтения.
  • TRANSACTION_READ_UNCOMMITTED: Он представлен целочисленным значением 1, поддерживает транзакции, допускающие грязное чтение, неповторяющееся чтение и фантомное чтение.
  • TRANSACTION_REPEATABLE_READ: Он представлен целочисленным значением 4, поддерживает транзакции, разрешающие только фантомные чтения.
  • TRANSACTION_SERIALIZABLE: Он представлен целочисленным значением 8, поддерживает транзакции, не допуская «грязных» чтений, неповторяющихся чтений и фантомных чтений.

Метод setTransactionIsolation() интерфейса Connection используется для изменения уровня изоляции транзакции для текущего соединения.

Параметры

Этот метод принимает целочисленное значение, представляющее один из 5 уровней изоляции транзакции.

Пример

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Connection_setTransactionIsolation {
   public static void main(String args[]) throws SQLException {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String url = "jdbc:mysql://localhost/mydatabase";
      Connection con = DriverManager.getConnection(url, "root", "password");
      System.out.println("Connection established......");
      //Retrieving the transaction isolation level
      con.setTransactionIsolation(Connection.TRANSACTION_READ_UNCOMMITTED);
      int transactionIsoltionLevel = con.getTransactionIsolation();
      System.out.println("Transaction isolation level of the underlying
         database is: "+transactionIsoltionLevel);
   }
}

Вывод

Connection established......
Transaction isolation level of the underlying database is: 1

Оцени статью

Средняя оценка / 5. Количество голосов:

Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Помогите улучшить статью.

 

Пока нет комментариев.

Добавить комментарий

Ваш e-mail не будет опубликован.

СайдбарКомментарии (0)