Mengkonfigurasi transaksi dalam projek springboot telah digunakan melalui teg sebelum ini, kerana ia digunakan dalam kod orang lain, nampaknya ia tidak berfungsi (dan kerana jaminan rangka kerja, jangan risau), ia digunakan sekali lagi dalam projek permulaan baharu, dan selepas pengesahan, sudah cukup untuk mengkonfigurasi dua tag di bawah projek springboot.
(1) Sebenarnya terdapat dua teg, satu digunakan dalam kelas permulaan (@EnableTransactionManagement), dan satu lagi di mana diperlukan Di mana untuk mengkonfigurasi (@Transactional); skema
(2), saya baru sahaja menemui projek ujian sebelumnya Satu kaedah termasuk: menyimpan sekeping data ke pangkalan data dan 1 dibahagikan dengan 0 kod, dan kemudian lihat Apakah perbezaan antara menambah dan tidak menambah teg transaksi;
(1) kelas pengawal
@ResponseBody @GetMapping("/tstest") public String tstest() { this.userService.tstest(); return "SUCCESS"; }
(2) kelas perkhidmatan
public void tstest() { //保存 UserEntity userEntity = new UserEntity(); userEntity.setType(0); userEntity.setOpenid("1111"); insert(userEntity); //报错,回滚 int i = 1/0; System.out.println(i); }
tidak menambah tag transaksi, kod adalah seperti di atas.
(1) Kosongkan pangkalan data dahulu;
(2) Laksanakan permintaan tstest; baris dilaksanakan, data Disimpan ke pangkalan data.
Kemudian pelaksanaan selesai (1/0 Walaupun kod ralat melaporkan ralat, data dalam pangkalan data masih wujud tidak diselenggara.
2.4 Pengesahan 2, terdapat transaksi
(1) Tambah dua label, satu pada kaedah kelas permulaan dan satu pada kaedah tstest.
(2) Mula-mula kosongkan data dan laksanakan untuk memasukkan
Saya mendapati bahawa walaupun baris kod sisipan telah dilaksanakan, tiada data dalam pangkalan data pada masa ini Selepas pelaksanaan selesai, kod melaporkan ralat, data telah digulung semula dan data itu tidak disimpan dalam pangkalan data, menunjukkan bahawa transaksi telah mencapai penghujung yang sepatutnya.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah pengesahan label transaksi dalam projek springboot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!