Rumah  >  Artikel  >  Java  >  Analisis contoh pengurusan transaksi SpringBoot

Analisis contoh pengurusan transaksi SpringBoot

WBOY
WBOYke hadapan
2023-05-13 14:13:20578semak imbas

1. Definisi transaksi

Transaksi ialah unit pelaksanaan logik yang terdiri daripada urutan operasi pangkalan data N-step ini sama ada dilaksanakan sepenuhnya atau dibatalkan.

2. Ciri urus niaga

ACID ciri urus niaga:

  • Atomicity: Transaksi ialah badan pelaksanaan terkecil yang tidak boleh dibahagikan dalam aplikasi

  • Kegigihan: Sebaik sahaja transaksi diserahkan, sebarang pengubahsuaian pada data mesti direkodkan dalam storan kekal Sederhana

  • 3. Pengasingan transaksi

  • Pengecualian bersamaan biasa
  • Jenis kemas kini yang pertama hilang, jenis kedua. Kemas kini hilang

Bacaan kotor, bacaan tidak boleh diulang, bacaan hantu

  • Tahap pengasingan biasa

  • Baca Tidak Komited: Baca data tidak komited

Baca Komited: Baca data komited

  • Baca Berulang: Bacaan Berulang

  • Boleh Bersiri: Pensiri

  • Jenis kerugian kemas kini pertama: pemulangan semula transaksi mengakibatkan kehilangan data yang dikemas kini oleh transaksi lain .

  • Kerugian kemas kini jenis kedua: penyerahan transaksi tertentu menyebabkan data yang dikemas kini oleh transaksi lain hilang.
  • Bacaan kotor: Transaksi tertentu membaca data tidak terikat daripada transaksi lain.

  • Bacaan tidak boleh diulang: Untuk transaksi tertentu, hasil pembacaan data yang sama sebelum dan selepas adalah tidak konsisten.

Bacaan hantu: Untuk transaksi tertentu, bilangan baris yang ditanya sebelum dan selepas jadual yang sama adalah tidak konsisten.

4. Pengurusan transaksi

Mekanisme pelaksanaan

Kunci pesimis (pangkalan data)

隔离级别 第一类丢失更新 脏读 第二类丢失更新 不可重复读 幻读
Read Uncommitted
Read Commited
Repeatable Read
Repeatable Read

Kunci kongsi (Kunci S) : Selepas transaksi A menambahkan kunci kongsi pada data tertentu, transaksi lain hanya boleh menambah kunci kongsi pada data, tetapi tidak boleh menambah kunci eksklusif

Kunci eksklusif (kunci X): Transaksi A telah Selepas kunci eksklusif ditambahkan pada data tertentu, transaksi lain tidak boleh menambah kunci kongsi atau kunci eksklusif pada data.

  • Kunci optimistik (tersuai)

  • Nombor versi, cap masa, dsb.

Mengemas kini Sebelum mendapatkan semula data, semak sama ada nombor versi telah berubah. Jika perubahan berlaku, batalkan kemas kini ini, jika tidak, kemas kini data (nombor versi + 1)

  • Pengurusan transaksi musim bunga

  • Transaksi pengisytiharan
  • Isytiharkan ciri urus niaga kaedah melalui konfigurasi XML.

Isytihar ciri urus niaga kaedah melalui anotasi.

  • Transaksi terprogram

  • Urus transaksi melalui TransactionTemplate dan lakukan operasi pangkalan data melaluinya.

5

Atas ialah kandungan terperinci Analisis contoh pengurusan transaksi SpringBoot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam