スプリングブート プロジェクトでのトランザクションの設定は、以前からタグを通じて使用されていましたが、最後の内部プロジェクトでは、他の人のコードで使用されていたため、そうではないことが判明しました。動作すると (フレームワーク保証があるため、心配する必要はありません)、新しいスタートアップ プロジェクトで再度使用され、検証後、springboot プロジェクトの下に 2 つのタグを設定するだけで十分です。
(1) 実際には 2 つのタグがあり、1 つはスタートアップ クラス (@EnableTransactionManagement) で使用され、もう 1 つは次の場所で使用されます。 Where to configure (@Transactional);
(2) スキーム、以前のテスト プロジェクトを見つけました。1 つの方法には、データの一部をデータベースに保存し、1 を 0 で除算したコードが含まれます。トランザクション タグを追加するかどうかの違いは何ですか;
(1)コントローラー クラス
@ResponseBody @GetMapping("/tstest") public String tstest() { this.userService.tstest(); return "SUCCESS"; }
(2)サービス クラス
public void tstest() { //保存 UserEntity userEntity = new UserEntity(); userEntity.setType(0); userEntity.setOpenid("1111"); insert(userEntity); //报错,回滚 int i = 1/0; System.out.println(i); }
#(2) まずデータをクリアし、挿入を実行します。
挿入コード行が実行されましたが、この時点ではデータベースにデータが存在しないことが判明しました。実行完了後、コードはエラーを報告し、データはロールバックされ、データはこれは、トランザクションが終了に達したことを示しており、その結果、データはロールバックされます。
以上がSpringboot プロジェクトのトランザクション ラベル検証の問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。