1. Urusan
Inti dari transaksi pegas sebenarnya adalah dukungan database untuk transaksi. Tanpa dukungan transaksi database, Spring tidak dapat menyediakan fungsi transaksi. Pada akhirnya, semuanya disebut koneksi basis data untuk menyelesaikan pembukaan transaksi, melakukan dan memutar kembali.
2. Modul
Jadi untuk transaksi pegas, beberapa modul yang sangat diperlukan adalah sumber data, manajer transaksi dan pemrograman transaksi.
3. Konfigurasi XML
<!-Transaction Manager-> <bean id = "springTransactionManager"> <name properti = "DataSource" ref = "DataSource" /> < /bean> <!-Sumber data-> <bean id = "dataSource"> <nama properti = "driverclassname" value = "com.mysql.jdbc.driver" name /"value =" com.mysql.jdbc.driver "name /" value = "com.mysql.jdbc.driver" "name /" value = "com.mysql.jdbc.drver value = "jdbc: mysql: //127.0.0.1: 3306 /tes? karakterEncoding = utf8" /> <nama properti = "nama pengguna" value = "root" /> <name properti = "kata sandi" value = "123456" /< /bean> <bean id iD = "sqlsessionfacorce" "DATACE =" DATACE = "DATACE =" DATACE = "DATAS" "DATA"> < /bean> <bean id iD = "sqlsessionfacorce =" "name" "DATACE =" DATRECE = "DATACE =" DATACE = "DATACE" "DATACE" " <!- Tentukan file konfigurasi total SQLMAPConfig. Lingkungan yang disesuaikan tidak efektif di Spring Container-> <!-Tentukan file pemetaan kelas entitas. Anda dapat menentukan paket yang ditentukan dan semua file konfigurasi di bawah subpackage secara bersamaan. Ada satu mapper dan configlocation. Ketika Anda perlu menentukan alias untuk kelas entitas, Anda dapat menentukan properti configlocation, dan kemudian menggunakan mapper untuk memperkenalkan file pemetaan kelas entitas dalam file konfigurasi total mybatis-> <!-<name properti = "configlocation" value = "classpath: fwportal/beans/dbonfig/mybatis.xm" "fwportal/beans/dbonfig/mybatis.xm" " value = "classpath: mapper/*. xml"/> </bean> <!-daftarkan antarmuka dao sebagai kacang-> <bean> <name properti = "basepackage" value = "transaction.dao"/> </ bean>
4. Pemrograman transaksi
@Test public void testDelete() throws Exception {ApplicationContext context = new ClassPathXmlApplicationContext("mysqltransaction.xml");DataSourceTransactionManager springTransactionManager = (DataSourceTransactionManager) context.getBean("springTransactionManager");DefaultTransactionDefinition def = new DefaultTransactionDefinition();def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);//Open the transaction TransactionStatus status = springTransactionManager.getTransaction(def);final StudentDAO dao = (StudentDAO)context.getBean("studentDAO");try {dao.delete(2L);}catch (Exception ex) {springtransactionManager.rollback (status); // transaksi rollback throw ex;} springtransactionManager.Commit (status); // transaksi komit}5. Ringkasan
Di atas adalah kasus singkat menggunakan mybatis dan pegas untuk menyelesaikan operasi transaksi. Tingkat isolasi transaksi database dapat dikonfigurasi, dan tingkat isolasi basis data MySQL berada di dimensi koneksi.
Anda juga dapat mengatur waktu batas waktu transaksi, yaitu, transaksi batas waktu akan secara otomatis memutar kembali.
Di atas adalah semua konten dari artikel ini tentang analisis kode transaksi musim semi pembukaan mybatis, saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!