Дела
Транзакция представляет собой логическую единицу выполнения, состоящая из эксплуатационной последовательности на один шаг или несколько шагов. Четыре характеристики транзакций: атомность, согласованность, изоляция и атомичность долговечности: наименьшая единица выполнения применения транзакций не может быть разделена. Это минимальное логическое тело исполнения, которое больше не разделено на дела.
Последовательность: результат выполнения транзакции должен сделать базу данных из одной согласованности в другое состояние.
IsoIities: выполнение каждой транзакции не мешает, а внутренние операции любой транзакции выделены для других параллельных транзакций. То есть: промежуточный статус другой стороны не может быть замечен между транзакцией одновременного исполнения, и делами одновременного исполнения не может быть затронута друг другом.
Долговечность: непрерывность также известна как устойчивость.
Предложения, связанные с обычной базой данных: набор операторов DML (Languation Munipuration, Language Data Ranage), этот набор операторов DML будет поддерживать хорошую согласованность после модификации; ; Язык управления данными, формулировки управления данными), в основном предоставление и отзывчики. Операторы DDL и DCL могут быть доступны только максимум, потому что они приведут к немедленному отправке транзакций. Когда все операции базы данных, содержащиеся в офисе, успешно реализованы, транзакции должны быть представлены для того, чтобы эти модификации были навсегда эффективными. Существует два способа представления транзакций: отображение подчинения и автоматическое представление. Отправление отображения: используйте Commit для отправки автоматической отправки: выполнить DLL или DCL, или программа отозвана из любого выполнения операции базы данных любой базы данных, содержащейся в транзакции, ее следует отменить, чтобы внести все изменения в транзакции. Есть два способа переворачивать транзакцию: откат дисплея и автоматический откат. Показать ROLLBACK: используйте откат для автоматического каскации: системная ошибка или принудительно выход.
Возможные вопросы одновременной обработки транзакций
1. Грязный чтение: одна транзакция гласит данные, которые не были представлены другой транзакцией
2. НЕПОРТАТОВЫЕ ЧИТАНИЕ: Операция одной транзакции приводит к чтению разных данных до и после другого
3. Phantom Read: Работа одной транзакции приводит к результатам результатов двух запросов до и после другого
Пример:
Во время выполнения транзакции A и B:
Java JDBC Механизм транзакции
Импорт java.sql.connection; Окончательная строка = "root"; String Querysql = "Query sql"; ОБНОВЛЕНИЕ PSTMTUPDATE = CONST.PreareStatement (UPDATESQL); ); } Наконец {try {if (pstmtupdate! = Null) {pstmtupdate.close ();} if (pstmtqury! = Null) {pstmtqury.close ();} if (con! = Null) {conn.cle (ose) ;}} Catch (sqlexception e2) {}}}}}
Поддержка дел JDBC
Соединение JDBC также поддерживает вещи. Другими словами, выполнение каждого оператора SQL будет немедленно отправлено в базу данных, что будет постоянно эффективно и не может его управлять. Закройте автоматическое представление соединения и запустите вещи. Метод соединения SetAutoCommit: Connection.SetAutoCommit (false); Когда мы включаем вещи, операция базы данных, выполненная в текущем подключении, не будет немедленно отправлена в базу данных, и нам необходимо вызвать метод подключения. Если есть сбой заявления, вы можете вызвать откат туда -сюда. ПРИМЕЧАНИЕ. Если соединение сталкивается с необработанной аномалией SQLEXCEPTION, система выходит из аномально, а система автоматически откатается обратно транзакции. Если программа отражает эту аномалия, необходимо отобразить операции с откатом в аномальном лечении. Подключение предоставляет методы для установки точки сохранения в середине транзакции: SetSavePoint. точка. SavePoint setSavePoint (String name): Создайте среднюю точку с указанным именем в текущей транзакции и возвращает объект SavePoint средней точки. Согласно объекту средней точки. Имя настройки - это просто лучшее различие между объектом средней точки.
Поддержка JDBC для транзакций отражена в трех аспектах:
1. Режим автоматического коммерка
Соединение предоставляет свойство автоматического коммита
2. Когда автоматическая коммита верно, когда выполнение каждой независимой операции SQL завершена, транзакция немедленно представлена, что означает, что каждая операция SQL является транзакцией
Когда рассчитана независимая операция SQL, спецификация JDBC определяется так:
Для языка эксплуатации данных (DML) и языка определения данных (DDL), как только предложение будет выполнено
3. Когда автоматическая коммит является ложным, каждая транзакция должна отображать метод вызова для отправки, или метод обратного вызова отображается для отката. По умолчанию автоматического общения
Уровни транзакции
JDBC определяет уровень пяти транзакций ::
Точка сохранения
JDBC определяет интерфейс SavePoint и обеспечивает более тонкий механизм управления транзакциями. Когда установлена точка сохранения, вы можете обратиться к статусу в точке сохранения, а не на всю транзакцию отката. Вы можете запросить эту информацию. Выполнили оператор модификации перед выполнением запроса. Чтобы решить эту проблему, мы должны ввести механизм транзакции JDBC.