MyBatisの重要な中核となる概念

一、SqlSessionFactoryBuilder

  名前からわかるように、BuilderはSqlSessionFactoryクラスを作成するためのモードです。SqlSessionFactoryを構築SqlSessionFactoryBuilder設定。これらの構成の2:

1.1、XMLファイルの方法

  XMLファイルの方法は、一般の方法として使用されます。

1つの文字列リソース= "ORG / MyBatisの/例/ MyBatisの-config.xmlの" ;
2  
3 InputStream InputStreamは= Resources.getResourceAsStream(リソース)
4  
5 SqlSessionFactory sqlSessionFactory = 新しい SqlSessionFactoryBuilder()(InputStreamを)構築します。

MyBatisの-config.xmlには、我々の設定ファイルです:

1  <?XMLバージョン= "1.0"エンコード= "UTF-8" ?> 
2  <!DOCTYPE設定
 3  PUBLIC " - // mybatis.org//DTDコンフィグ3.0 // EN"
 4  "http://mybatis.org/dtd/mybatis-3-config.dtd" > 
5  < 設定> 
6      < 環境のデフォルト= "開発" > 
7          < 環境ID = "開発" > 
8          < トランザクションマネージャーのタイプ= "JDBC" /> 
9          <
             プロパティ= "ドライバ" = "$ {ドライバ}" /> 
11              < プロパティ= "URL" = "$ {URL}" /> 
12              < プロパティ= "ユーザ名" = "$ {ユーザー名}" /> 
13              < プロパティ= "パスワード" = "$ {パスワード}" /> 
14          </ データソース> 
15          </ 環境> 
16      </ 環境>
17      < マッパー> 
18     < マッパー資源= "ORG / MyBatisの/例/ BlogMapper.xml" /> 
19      </ マッパ> 
20  </ 構成>

1.2、Javaのコンフィグ

  これは、Javaコードを介して構成された第二の構成です。

1つのデータソースデータソース= BlogDataSourceFactory.getBlogDataSource()。
2  
3たTransactionFactoryたTransactionFactory = 新しいJdbcTransactionFactory()。
4  
5 =環境環境新しい環境( "開発" 、たTransactionFactory、データソース)。
6  
7コンフィギュレーションの設定= 新しいコンフィギュレーション(環境)。
8 configuration.addMapper(BlogMapper。クラス)。
9  
10 SqlSessionFactory sqlSessionFactory = 新しい SqlSessionFactoryBuilder()(構成)を構築します。

  JavaのConfigが道のXMLファイルの面で比較すると、いくつかの制限があるでしょう。たとえば、ファイルを再コンパイルする必要がある設定を変更し、XML設定項目が待つ注釈を付ける方法はありません。だから、ほとんどの場合、次産業は、XMLファイルを選択することです。しかし、最終的にどの方法を選択し、これは自分のチームに依存する必要があります。例えば、プロジェクトのSQL文は複雑ではなく、いくつかの先進的なSQL機能を必要としない、そしてJavaのConfigがより簡潔1時になります。逆に、あなたは、XML文書の道を選択することができます。

二、SqlSessionFactory

  名前が示すSqlSessionFactory、SQLSESSIONの工場です。一例として取得SQLSESSION:

1 SQLSESSIONセッション= sqlSessionFactory.openSession()。

三、SQLSESSION

  SQLSESSIONは、SQLを実行するための方法のすべてが含まれています。次に例を示します。

1 SQLSESSIONセッション= sqlSessionFactory.openSession()。
2  トライ{
 3ブログのブログ= session.selectOne(
 4 "org.mybatis.example.BlogMapper.selectBlog"、101 );
5 } 最後に{
 6  session.close()。
7 }

  もちろん、セキュリティの種類を行うには、次の方法:

1 SQLSESSIONセッション= sqlSessionFactory.openSession()。
2  トライ{
 3 BlogMapperマッパー= session.getMapper(BlogMapper。クラス)。
4ブログのブログ= mapper.selectBlog(101 )。
5 } 最後に{
 6  session.close()。
7 }

四、マッパー

  名前が示すマッパーは、JavaとSQLの間のマッピングであるとして使用されています。SQL文のJavaマッピングを含め、およびSQLは、結果は、Javaにマップされて戻ります。例えば、以下は共通マッパーインタフェースマッピングファイルは、次のとおりです。

1  <?XMLバージョン= "1.0"エンコード= "UTF-8" ?> 
2  <!DOCTYPEマッパー
 3  PUBLIC " - // mybatis.org//DTDマッパー3.0 // EN"
 4  "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > 
5  < マッパー名前空間= "org.mybatis .example.BlogMapper」> 
6  < 選択ID = "selectBlog" resultTypeと= "ブログ" > 
7は、 SELECT * FROMブログからID =#{ID}は
 8  </ 選択> 
9  </ マッパー>

  「org.mybatis.example.BlogMapperは」私たちはシュートインタフェースを撮影したいものである場合には、selectBlogはBlogMapper上の方法です。そして、このselectBlogコンクリートは、SQL文の「ブログID =#{ID}から選択*」を実行することです。このように、我々は渡すことができます

1つのブログブログ= session.selectOne( "org.mybatis.example.BlogMapper.selectBlog"、101);

  若しくは

1つの BlogMapperマッパ= session.getMapper(BlogMapper。クラス)。
2ブログのブログ= mapper.selectBlog(101)。

  実行結果を取得するには。方法は、アノテーションの使用である場合はもちろん、あなたがXMLファイルを保存することができます:

1つの パブリック インターフェースBlogMapper {
 2 @Select( "SELECT * FROMブログWHERE ID =#{ID}" 3ブログselectBlog(int型のID);
4 }

  しかし、我々はコメントで書かれたSQL文をオンにしないように、SQL文を書くために、SQLマッピングファイルを使用する方法をお勧めします。

おすすめ

転載: www.cnblogs.com/baichunyu/p/11208619.html