1。問題
Spring Transactionsの本質は、実際にはデータベースのトランザクションに対するサポートです。データベーストランザクションサポートがなければ、Springはトランザクション機能を提供できません。最終的に、それはすべてデータベース接続と呼ばれ、トランザクションのオープニング、コミット、ロールバックを完了します。
2。モジュール
したがって、Springトランザクションの場合、いくつかの不可欠なモジュールは、データソース、トランザクションマネージャー、トランザクションプログラミングです。
3。XML構成
<! - トランザクションマネージャー - > <bean id = "springtransactionmanager"> <プロパティ名= "datasource" ref = "dataSource" /> < /bean> <! - data source-> <bean id = "dataSource"> <プロパティ名= "driverclassname" value = "com.mysql.jdbc.ddbc.driver" /> < value = "jdbc:mysql://127.0.0.1:3306 /test?charaterencoding = utf8" /> <プロパティ名= "username" value "value =" root " /> <プロパティ名="パスワード "value =" 123456 " />> < /bean> <bean id =" <! - sqlmapconfig合計設定ファイルを指定します。カスタマイズされた環境は、スプリングコンテナ - > <! - エンティティクラスマッピングファイルを指定します。指定されたパッケージとすべての構成ファイルをサブパッケージの下で同時に指定できます。 1つのマッパーと構成があります。エンティティクラスのエイリアスを指定する必要がある場合、ConfigLocationプロパティを指定し、MyBatis Total Configurationファイルにエンティティクラスマッピングファイルを導入し、MyBatis Clufient File-> <! - <プロパティ名= "Configlocation" value = "ClassPath:fwportal/beans/dbconfig/mybatis.xml"/> <> <> < value = "classpath:mapper/*。xml"/> </bean> <! - daoインターフェイスをbeanとして登録 - > <bean> <プロパティ名= "basepackage" value = "transaction.dao"/> </bean> </bean>
4。トランザクションプログラミング
@test public void testdelete()throws Exception {applicationContext Context = new ClassPathxMLApplicationContext( "mysqltransaction.xml"); dataSourcetransactionManager springTransactionManager =(dataSourcetransactionManager)context.getBean( "SpringTransactionManager") defaultTransactionDefinition(); def.setPropagationBehavior(transactionDefinition.propagation_required); //トランザクショントランザクションStatus = springTransactionManager.getTransaction(def); final studentdao dao =(desudentdao)context.getbean(dautho "); dao"); dao "); {springTransactionManager.rollback(status); //トランザクションロールバックスローEx;} springTransactionManager.commit(status); //トランザクションコミット}5。概要
上記は、MyBatisとSpringを使用してトランザクション操作を完了する簡単なケースです。データベーストランザクション分離レベルを構成でき、MySQLのデータベース分離レベルは接続ディメンションにあります。
トランザクションのタイムアウト時間を設定することもできます。つまり、タイムアウトトランザクションは自動的にロールバックされます。
上記は、MyBatis Opening Springトランザクションコード分析に関するこの記事のすべての内容です。すべての人に役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!