Mybatisのアイデアを使用して、最初にmybaits.xmlで環境を構成し、次にdaoの下にインターフェースを作成します。このアイデアは、mybatisが提供する構成を使用して、データベースへの接続を解決し、ドメイン内のオブジェクトをクエリし、カプセル化することです。したがって、マッピングパスを構成し、対応するフォルダーにIUserDao.xml(インターフェイスに対応する構成ファイル)を書き込みます。namspaceは完全なクラス名に対応し、内部ラベルはメソッドに対応します。次に、環境が構成されている場合でも。
前提:依存関係とLog4j.propertiesファイルをインポートする
このセクションは[プロパティ]タブにあり、
以下はlog4j.propertiesファイルの内容です
### 设置###
log4j.rootLogger = debug,stdout,D,E
### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 输出ERROR 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =E://logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
次にテーマを入力してください
- POOLEDが一時的に理解しない構成メイン構成
- インターフェース作成の完了
3.忘れられたナレッジの挿入:テーブルの作成について:日付フィールドの挿入について:日付に自宅の見積もりがない場合、挿入時間が失敗します。
3.インターフェースクラスを実装することは役に立たないので、構成にマッピングパスを追加する必要があります:注:パッケージ名とパッケージ名は、/ではありません。
注:Resoucesで対応するパスを作成する場合の唯一の違いは、一方がxmlで、もう一方がインターフェースクラスであることです。
4.対応するパスの下に構成を入力して、構成を通じてdaoレイヤーインターフェイスクラスを完成させます。
注:sqlステートメントの後に追加するかしないか;必ずしも私の経験では、追加と追加は同じではありませんが、エラーを報告する人もいます。
注:namspaceはインターフェースの完全なクラス名、idはメソッド名、resultTypeはクエリ結果のカプセル化クラス
5 のパッケージングクラスでなければなりません。この時点で、環境が設定され、テスト結果は次のとおり
です。1.構成ファイルを読み取ります。ここに2つのメソッドがあります構成ファイルを取得します。最初は使用することです
InputStream in = Resources.getResourceAsStream("mybatisConfig.xml");
第二は採用することです
InputStream in = MybatisTest.class.getClassLoader().getResourceAsStream("mybatisConfig.xml");
違いは、2番目のメソッドが実際にはResourcesにカプセル化されることで、これは実際にはカプセル化の追加のレイヤー
です2.構成ファイルを使用してクエリ用のデータベースに接続できるオブジェクトを生成できるファクトリを作成します。
SqlSessionFactoryBuilder builder =new SqlSessionFactoryBuilder();
SqlSessionFactory factory = builder.build(in);
3.ファクトリからセッションオブジェクトを取得する
SqlSession session = factory.openSession();
4.利用session对象获取接口类的经过代理类加强过后的对象Mapper:
IUserDao dao = session.getMapper(IUserDao.class);
5.执行mapper方法:
List<User> all = dao.findAll();
for (User user : all) {
System.out.println(user);
}
この手順を省略すると、コンソールからの無駄な出力が発生します
。
in.close();
session.close();
概観
後続の補足更新