1. กิจการ
สาระสำคัญของการทำธุรกรรมสปริงคือการสนับสนุนของฐานข้อมูลสำหรับการทำธุรกรรม หากไม่มีการสนับสนุนการทำธุรกรรมฐานข้อมูลสปริงไม่สามารถให้ฟังก์ชั่นการทำธุรกรรมได้ ในท้ายที่สุดมันถูกเรียกว่าการเชื่อมต่อฐานข้อมูลเพื่อให้การเปิดธุรกรรมเสร็จสิ้นการกระทำและย้อนกลับ
2. โมดูล
ดังนั้นสำหรับการทำธุรกรรมฤดูใบไม้ผลิโมดูลที่ขาดไม่ได้หลายแห่งคือแหล่งข้อมูลผู้จัดการธุรกรรมและการเขียนโปรแกรมธุรกรรม
3. การกำหนดค่า XML
<!-ตัวจัดการธุรกรรม-> <bean id = "SpringTransactionManager"> <property name = "dataSource" ref = "DataSource" /> </ebean> <!-แหล่งข้อมูล-> <bean id = "DataSource"> <property name = "driverclassName" value = "com.mysql.jdbc.driver value = "jdbc: mysql: //127.0.0.1: 3306 /test? characterencoding = utf8" /> <ชื่อคุณสมบัติ = "ชื่อผู้ใช้" value = "root" /> <property name = "password" value = "123456" /> < /bean> <!- ระบุไฟล์การกำหนดค่ารวม SQLMAPCONFIG สภาพแวดล้อมที่กำหนดเองไม่มีประสิทธิภาพในคอนเทนเนอร์สปริง-> <!-ระบุไฟล์การแมปคลาสเอนทิตี คุณสามารถระบุแพ็คเกจที่ระบุและไฟล์การกำหนดค่าทั้งหมดภายใต้แพคเกจย่อยในเวลาเดียวกัน มีหนึ่งแม็พและการกำหนดค่า เมื่อคุณต้องการระบุนามแฝงสำหรับคลาสเอนทิตีคุณสามารถระบุคุณสมบัติการกำหนดค่าจากนั้นใช้ Mapper เพื่อแนะนำไฟล์การแมปคลาสเอนทิตีในไฟล์การกำหนดค่าทั้งหมด MyBatis-> <!-<property name = "configlocation" value = "classpath: fwportal/beans/dbconfig/mybatis.xml value = "classpath: mapper/*. xml"/> </ebean> <!-ลงทะเบียนอินเทอร์เฟซ Dao เป็นถั่ว-> <bean> <property name = "basepackage" value = "transaction.dao"/> </ebean>
4. การเขียนโปรแกรมธุรกรรม
@Test Public Void TestDelete () พ่นข้อยกเว้น {ApplicationContext Context = ใหม่ classPathxMlApplicationContext ("MySqlTransaction.xml"); DataSourceTransactionManager SpringTransactionManager = (DataSourceTransactionManager) defaultTransactionDefinition (); def.setPropagationBehavior (ธุรกรรม definition.propagation_required); // เปิดธุรกรรมธุรกรรมสถานะ = springtransactionmanager.getTransaction (def); studentdao dao = (studentdao) บริบท {SpringTransactionManager.rollback (สถานะ); // การทำธุรกรรมย้อนกลับ throw ex;} springtransactionmanager.commit (สถานะ); // การทำธุรกรรม commit}5. สรุป
ข้างต้นเป็นกรณีสั้น ๆ ของการใช้ mybatis และฤดูใบไม้ผลิเพื่อดำเนินการทำธุรกรรมให้เสร็จสมบูรณ์ ระดับการแยกธุรกรรมฐานข้อมูลสามารถกำหนดค่าได้และระดับการแยกฐานข้อมูลของ MySQL อยู่ในมิติการเชื่อมต่อ
นอกจากนี้คุณยังสามารถตั้งค่าเวลาหมดเวลาของการทำธุรกรรมนั่นคือธุรกรรมการหมดเวลาจะย้อนกลับโดยอัตโนมัติ
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับการวิเคราะห์รหัสการทำธุรกรรมในฤดูใบไม้ผลิของ MyBatis ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!