利点:
開発者がXML設定ファイルなしでjavaファイルのSQLに直接書き込むことができるように1 jdbcTemplateスプリングパッケージは、データベースのJDBC操作です。
2.シンプル速く効率
短所:
1.即時放出、使用しないときを使用して接続を作成します。頻繁な接続口と資源の浪費を閉じるには、データベースのパフォーマンスに影響を与えます。
解決策:データベース接続プール、接続管理データベースを使用します。
2. SQLを変更した場合、JavaコードにハードコーディングされたSQL、Javaコードを再コンパイルするには、システムのメンテナンスを助長されていません。
ソリューション:XML設定ファイルで定義されたSQL文、静的リソース
3.ロケータとパラメータはJavaコードにハードコーディングされ、声明の中で設定されています、
結果トラバーサルの結果が設定されている場合、あなたはハードコーディングされた地図データを取得する必要があり、それはメンテナンスを助長されていません。
だから、MyBatisのアーキテクチャは、問題の一部を解決します。チーム開発、より良いサポートの急速な発展のために。
半自動生成SQLが提供する方法をMyBatisのマップでは、ほとんどまだSQLを記述するために、プログラマが必要です。
コア:
入力マッピング:入力パラメータを自動的ongl表現をマッピングすることにより、ステートメントに入力されてもよいです、
出力マッピング:Javaオブジェクトの柔軟なマッピングになるように設定されたクエリ結果
MyBatisの構造
1、MyBatisの構成(2つのXMLファイル)
SqlMapConfig.xmlは、情報(データソース、物事、マッパーマッピングファイルを)MyBatisの動作環境を設定するには、グローバル・コンフィギュレーション・ファイルとしてこのファイルをMyBatisの。
ファイルにマップされているSQLファイルをmapper.xml、データベースのSQL文の動作を設定します。このファイルには、中SqlMapConfig.xmlにロードする必要があります。
MyBatisのによって2、すなわち、構成情報構成SqlSessionFactoryセッションファクトリ環境
3. SQLSESSION工場は、データベースの操作はSQLSESSIONであることが必要であるセッションでセッションを作成します。
図4は、基礎となるアクチュエータキュータカスタマイズデータベースインタフェースの動作をMyBatisの、執行を実現二つのインタフェースがあり、それはアクチュエータが緩衝液である、基本的なアクチュエータです。
図5に示すように、マップされたステートメントは、SQL MyBatisの設定情報とマッピング情報をMyBatisのラップボトムパッケージオブジェクトです。IDのIDであるSQLマッピングされたStatementオブジェクト、SQLマップされたステートメントに対応するファイルをmapper.xml。
入力に対して実行6、マップされたステートメントは、SQLは、SQL入力パラメータマッピングに入力されたSQLを実行する前に文をマップされたマッピングJavaオブジェクトによってハッシュマップ、基本的なタイプ、POJO、執行を含む、定義されたパラメータは、JDBCプログラミングセットパラメータのPreparedStatementです。
。7、出力のマッピングされた文のSQL実行がHashMapを含む、定義されている、基本的なタイプ、POJO、SQL Javaオブジェクトを実行した後マッピングマップされたステートメントによってエグゼキュータは、マッピング処理の出力結果に結果を出力する等価JDBCプログラミングの解析結果でありますプロセス。
利点をMyBatisの:
図1は、高い抽象化のカプセル化は、JDBCをMyBatisの。春のjdbc詳細にそのような多くのMyBatisのより多くのカプセル化されたオブジェクト・マップを達成するために。
図2に示すように、注釈のためのサポートは、インターフェースの開発、高効率、SQLを解決するために、毎分に直面しています。
図3は、複雑なSQL、springJDBCトラブル書き込むため、人道的なポイントをMyBatisの。
4は、パッケージの高さをMyBatisの、プログラマは、ビジネス層、高い開発効率に焦点を当てることができます。だから、MyBatisの開発会社を選択して、より多くの。