背景:
通常、私たちは自分自身のSQLを記述するだけでなく、データベースにアクセスするためにJDBCを使用している、あなたはまた、接続、ステートメント、唯一の補助的な手段であるResultSetクラスを操作しなければなりません。
また、テーブルに異なるアクセスだけでなく、同様の多くのコードを記述し、それが退屈で退屈です。
だから、MyBatisのを使用した後、唯一のMyBatisのは、それを行うには、など、接続、ステートメント、JDBC関連の例外処理を確立するなど、独自のSQL文、他の作業を、提供する必要があります。
技術的な詳細は、私たちの目の前でカプセル化されている間、私達はちょうど、CRUDおよびその他の運用レベルに焦点を当てる必要があります。
基本的なプロセスを使用します。
データ接続情報を提供するために、MyBatisの-config.xmlファイルを作成します--1--
<?のXmlバージョン= "1.0"エンコード= "UTF-8" ?> <! - 主に提供ドライバ、データベース名、エンコーディング、アカウントのパスワードにMyBatisの-config.xmlファイルを使用してデータベースに接続する- > <!DOCTYPEコンフィギュレーション PUBLIC " - // mybatis.org//DTDコンフィグ3.0 // EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > < 設定> <! - 开启包扫描、使得后续的mapper.xml减少语句- > < typeAliases > < パッケージ名=」 com.ksea.pojo」/> </ typeAliases > < 環境デフォルト= "開発" > < 環境ID = "開発" > < トランザクションマネージャーのタイプ= "JDBC" /> < データソースのタイプ= "POOLED" > < プロパティ名= "ドライバ" 値= "はcom.mysql.jdbc.Driver" /> < プロパティ名= "URL" 値= "はjdbc:mysqlの:// localhostを:?3306 / how2java characterEncoding = UTF-8" /> < プロパティ名= "ユーザ名" 値= "ルート" /> < プロパティ名= "パスワード" 値= "ルート" /> </ のdataSource > </ 環境> </ 環境> <! - 映射类配置的XML文件- > <マッパー> < マッパーリソース= "COM / KSEA / POJO / Category.xml" /> </ マッパー> </ 設定>
--2--エンティティクラスに対応するXMLファイル、関連マッパーの準備、パッケージSQL、XMLに対応したクラスを作成します。一緒にパッケージに格納されているPOJO
パッケージcom.ksea.pojo。 / ** * @author :KSEA * @description: * @createDate:2020年1月6日 * / パブリック クラスカテゴリー{ プライベート int型のID。 プライベート文字列名; 公共 INT のgetId(){ 戻りID。 } 公共 ボイド SETID(int型のID){ この .ID = ID。 } パブリック文字列のgetName(){ 戻り名。 } 公共 ボイドのsetName(文字列名){ この .nameの= 名前。 } }
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> <!DOCTYPEマッパー PUBLIC " - // mybatis.org//DTDマッパー3.0 // EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > < マッパー名前空間= "com.ksea.pojo" > <! - マッピングは、resultTypeとは、クラス、後続のコードの呼び出しにIDとの関連を表します。 - > < SELECT ID = "listCategory" resultTypeと= "カテゴリー" > category_から選択* </ 選択> </ マッパー>
--3--コールフローは、クラスのリソースは、まず、永続的、コールID定義されたマッパーによってSqlSessionFactory、SQLSESSIONをインスタンス化し、設定ファイルを読み込み
パッケージcom.ksea。 輸入com.ksea.pojo.Category。 輸入org.apache.ibatis.io.Resources。 輸入org.apache.ibatis.session.SqlSession。 輸入org.apache.ibatis.session.SqlSessionFactory。 輸入org.apache.ibatis.session.SqlSessionFactoryBuilder。 インポートにjava.io.IOException; 輸入java.io.InputStreamを。 輸入はjava.util.List; / ** * @author :KSEA * @description: * @createDate:2020年1月6日 * / パブリック クラスTestMybatis { 公共 静的 ボイドメイン(文字列[]引数)がスローIOExceptionが{ リソース文字列 =「MyBatisの-config.xmlの」; // 使用するリソース設定ファイル読み込むためのクラス InputStream InputStreamは= Resources.getResourceAsStream(リソース); // キーターゲットSqlSessionFactory MyBatisのプロファイルの一例に係るストリームを変換しますコアオブジェクト指向MyBatisの SqlSessionFactory SqlSessionFactoryは= 新しい新SqlSessionFactoryBuilder()ビルド(InputStreamを);. // JDBC接続と同様に、永続的な SQLSESSIONセッション= sqlSessionFactory.openSession(); // SQL文のコールIDを実行するように構成された持続性の典型的なコール・マッパー使っ 一覧<カテゴリ> CategoryList = session.selectList(「listCategoryを」); のため(カテゴリーカテゴリー:CategoryList){ System.out.println(category.getName())。 } } }