Rumah  >  Artikel  >  Java  >  Bagaimana untuk menyelesaikan masalah pengesahan label transaksi dalam projek springboot

Bagaimana untuk menyelesaikan masalah pengesahan label transaksi dalam projek springboot

WBOY
WBOYke hadapan
2023-05-10 23:28:12900semak imbas

1. Penerangan masalah

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.

2. Penyelesaian

2.1 Penerangan

(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;

2.2 Penerangan Kod

(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);
    }

2.3 Pengesahan 1, tiada transaksi

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.

Bagaimana untuk menyelesaikan masalah pengesahan label transaksi dalam projek springboot

Kemudian pelaksanaan selesai (1/0 Walaupun kod ralat melaporkan ralat, data dalam pangkalan data masih wujud tidak diselenggara.

Bagaimana untuk menyelesaikan masalah pengesahan label transaksi dalam projek springboot

2.4 Pengesahan 2, terdapat transaksi

(1) Tambah dua label, satu pada kaedah kelas permulaan dan satu pada kaedah tstest. Bagaimana untuk menyelesaikan masalah pengesahan label transaksi dalam projek springboot


Bagaimana untuk menyelesaikan masalah pengesahan label transaksi dalam projek springboot (2) Mula-mula kosongkan data dan laksanakan untuk memasukkan

Bagaimana untuk menyelesaikan masalah pengesahan label transaksi dalam projek springboot


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.

Bagaimana untuk menyelesaikan masalah pengesahan label transaksi dalam projek springboot

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!

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