MyBatisの概念:
MyBatisのは、優れた永続化フレームワーク、カスタムSQL、ストアドプロシージャのサポートです。
MyBatisのは、ほぼすべてのJDBCコードとマニュアル設定パラメータを回避し、結果セットを取得します。
MyBatisのは、データベースのレコードにインターフェイスおよびJavaのPOJOをマッピングするために、単純なXMLまたは注釈ネイティブな構成とマッピング情報を使用することができます。
MyBatisのApacheはもともとオープンソースプロジェクトiBatisのだった。プロジェクトの2010年には、コードをGoogleに移行するために、MyBatisの名前を変更しました。
原則として建設ダイアグラム
MyBatisのVS休止
ビルドに環境:
IDEA、Mavenのエンジニアリング段階
輸入座標エンジニアリングの作成1.
2.エンティティ・クラスおよびインタフェースDAOを作成します。
MyBatisのメインの設定ファイルを作成しますmybatis.xml 3
マップファイルを作成しますUserMapper.xml 4
ビルドへのメモ環境:
1.マッピングファイル名UserMapper.xmlとUserMapper.java名が同じでなければなりません
2時間の考えでディレクトリを作成し、それは同じパッケージではありません
3.mybatisマッピング構成ファイルの場所とパケット構造は、インターフェースDAOと同じでなければなりません
4.タグマッパーマッピング設定ファイルには、名前空間の属性値は、インタフェース、DAOの完全修飾クラス名でなければなりません
マッピングプロファイル(選択)の動作している構成、id属性は、インタフェース、DAOの名前を送信するために発行する必要があります
3.4.5は、DAO層を記述することなく遵守することができます
サンプルコード
1.pomプロフィール
< パッケージ>ジャー</ 包装> < 依存性> < 依存性> < のgroupId > org.mybatis </ のgroupId > < たartifactId > MyBatisの</ たartifactId > < バージョン> 3.4.6 </ バージョン> </ 依存> < 依存性> < groupId > mysqlの</ groupIdを> <たartifactId >MySQLのコネクタ-javaの</ たartifactId > < バージョン> 5.1.46 </ バージョン> </ 依存関係> < 依存> < groupIdを> log4jの</ groupIdを> < たartifactId > log4jの</ たartifactId > < バージョン> 1.2.17 </ バージョン> </ 依存関係> < 依存> < groupIdを>JUnitの</ groupIdを> < たartifactId > JUnitの</ たartifactId > < バージョン> 4.12 </ バージョン> </ 依存> </ 依存関係>
メインの設定ファイルを2.mybais.xml
<?のXmlバージョン= "1.0"エンコード= "UTF-8" ?> <!DOCTYPE設定 PUBLIC " - // mybatis.org//DTDコンフィグ3.0 // EN" 「http://mybatis.org/dtd/mybatis config.dtd - 3 " > < 設定> < - !トップにこぶの命名、およびファイル属性の設定を配置し- > < 設定> < 設定名=" mapUnderscoreToCamelCase " 値=" trueに" /> </ [設定] > <! - ランタイム構成(統合は春を行く後)- > < 環境デフォルト=「開発」> < 環境ID= "開発" > <! - 事物- > < トランザクションマネージャーのタイプ= "JDBC" /> <! - 连接池- > < データソースのタイプ= "POOLED" > < プロパティ名= "ドライバ" 値= "COM .mysql.jdbc.Driver」 /> < プロパティ名= "URL" 値= "はjdbc:mysqlの://127.0.0.1:3306 / MyBatisの" /> < プロパティ名= "ユーザ名" 値= "ルート" /> < プロパティ名=「パスワード」値= "ルート" /> </ のdataSource > </ 環境> </ 環境> <! - 映射文件- > < マッパー> < マッパーリソース= "COM / DAO / UserMapper.xml" /> </ マッパー> </ 設定>
3.mapper.xmlマッピングファイルの設定
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> <!DOCTYPEマッパーPUBLIC " - // mybatis.org//DTDマッパー3.0 // EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > < マッパー名前空間= "com.dao.UserMapper" > < 選択ID = "のfindAll" resultTypeと= "com.bean.User" > TEST_USER SELECT * FROM。 </ 選択> </ マッパー>
4.エンティティクラス
com.beanパッケージ;
パブリッククラスユーザー{
プライベート整数UID。
プライベート文字列のuName。
プライベート文字列uLovel。
@Override
パブリック文字列のtoString(){
戻り"ユーザー{" +
"UID =" + UID +
"のuName = '" +のuName + '\'' +
"uLovel = '" + uLovel + '\'' +
' };
}
パブリック整数GETUID(){
UIDを返します。
}
公共ボイドのsetuid(整数UID){
this.uId = UID。
}
パブリック文字列getuName(){
のuNameを返します。
this.uName =のuName。
}
パブリック文字列getuLovel(){
uLovelを返します。
}
公共ボイドsetuLovel(文字列uLovel){
this.uLovel = uLovel。
}
}
レイヤインターフェイスクラス
パッケージcom.dao。 輸入com.bean.User; 輸入はjava.util.List; パブリック インターフェースUserMapper { リスト <ユーザ> のfindAll(); }
6.試験クラス
パッケージコム; 輸入com.bean.User; 輸入com.dao.UserMapper; 輸入org.apache.ibatis.io.Resources。 輸入org.apache.ibatis.session.SqlSession。 輸入org.apache.ibatis.session.SqlSessionFactory。 輸入org.apache.ibatis.session.SqlSessionFactoryBuilder。 輸入org.junit.Test; 輸入java.io.InputStreamを。 輸入はjava.util.List; パブリック クラスMybaitsTest01 { @Test 公共 のボイド M1は、()スロー{例外を // 1.读取主配置文件 InputStream( "mybatis.xml" = Resources.getResourceAsStream IS ); // 2. SessionFactoryの植物作成 SqlSessionFactoryBuilderビルダー= 新しい新しいSqlSessionFactoryBuilderを(); SqlSessionFactory工場 = builder.buildは(IS); // 3. SQLSESSIONが工場を使用して得られたオブジェクト SQLSESSIONセッションを= factory.openSession(); // インターフェイスプロキシオブジェクトDAO作成するために使用される4 SQLSESSION UserMapperマッパー= session.getMapper(UserMapper クラス); // 5ライブラリ使用してオブジェクトの実行方法 一覧<ユーザー>すべて= mapper.findAll (); のため(ユーザーユーザー:すべて){ System.out.println(ユーザ); } // 6.リリースリソース Session.close(); is.close(); } }
7.loj4.perportiesプロパティファイル
log4j.rootLogger = DEBUG、標準出力 #\ u8F93 \ u51FA \ u5230 \ u63A7 \ u5236 \ u53F0 log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout = org.apache.log4j.PatternLayout のlog4j。 appender.stdout.layout.ConversionPattern =%5P [%のT] - %のm個の%nを