その他の概念:
1.インターフェースプログラミング
原生: Dao ------------------> DaoImpl
Mybatis Mapper -------------> xxMapper.xml
2. SqlSessionはデータベースとのセッションを表し、使い果たされたら閉じる必要があります
3.SqlSessionとConnectionはどちらもスレッドセーフではありません。使用するたびに新しいオブジェクトを取得する必要があります。
4. Mapperインターフェースの実装クラスはありませんが、mybatisはそのプロキシオブジェクトを生成します。(インターフェースをxmlでバインドします)
EmployeeMapper empMapper = sqlSession.getMapper(EmployeeMappper.getClass);
5.2つの重要な構成ファイル
Mybatisグローバル構成ファイル:データベース接続プール情報、トランザクションマネージャー情報、システム動作環境情報など。
SQLマッピングファイル:各SQLステートメントのマッピング情報を保存します:SQLを抽出します
Mybatisグローバル設定ファイル
5. Mybatisは、propertiesタグを使用して、外部プロパティ構成ファイルのコンテンツをインポートできます。
<properties resource="dbconfig.properties"></properties>
resource:引入类路径下的资源
url:引入网络路径下或者磁盘路径下的资源
6、ランタイム動作の設定構成ラベル
setting:用来设置每一个设置项
name:设置项名
value:设置项取值
7. typeAliasesタグ:エイリアスプロセッサ:Javaタイプにエイリアスを設定できます(バッチエイリアスを推奨)
<package name="com.xuan.mybatis.bean"/>
package:为某个包下所有的类批量起别名
name:指定包名(为当前包以及下面所有的子包的每一个类都起一个默认的别名(类型小写 ))
注:バッチエイリアシングの場合は、@ Alisaアノテーションを使用して、特定のタイプの新しいエイリアスを指定します(同じパッケージで同じ名前の2つのクラスを防ぐため)
8.環境のタグ:あなたはMyBatisの(開発環境、テスト環境、など)のために複数の環境を設定することができ、デフォルトでは、特定の環境の使用を指定します
environment:配置一个具体的环境信息;必须包含两个标签(transactionManager、dataSource),id代表当前环境唯一标识
transactionManager:事务管理器
dataSource:数据源
9. databaseIdProviderタグ:複数のデータベンダーをサポートするtype属性は、データベースベンダーのID(Mysql、Oracle、SQLサーバー...)を取得することです。
<databaseIdProvider>
<!--为不数据库厂商起别名-->
<property name="Mysql" value="mysql"/>
<property name="Oracle" value="oracle"/>
<property name="SQL server" value="sqlserver"/>
</databaseIdProvider>
10、mappersタグ:SQLマッピングをグローバル構成に登録します
mapper:注册一个sql映射
resource属性:引用类路径下的sql映射文件
url属性:引用网络路径或磁盘路径下的sql映射文件
class属性:引用(注册)接口
1. SQLマッピングファイルがあります。マッピングファイル名はインターフェイスと同じ名前である必要があり、インターフェイスと同じディレクトリに配置する必要があります。
2. SQLマッピングファイルはありません。すべてのSQLは、アノテーション付きのインターフェイスに書き込まれます。
推奨:
a)より重要で複雑なDaoインターフェースはSQLマッピングファイルを使用して記述されています
b)重要ではないシンプルなDaoインターフェースは、迅速な開発のためにアノテーションを使用できます