一、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マッピングファイルを使用する方法をお勧めします。