Java mybatisでの設定構成例を詳しく解説

怪我咯
リリース: 2017-07-02 10:44:27
オリジナル
2855 人が閲覧しました

この記事では、主に mybatis の設定に関する関連情報をサンプルコードを通じて詳しく紹介します。必要な方は以下を参照してください。

mybaits では、設定構成パラメーターは次のとおりです (構成ファイルで構成されていない場合は、デフォルト値が使用されます):


safeRowBoundsEnabledmapUnderscoreToCamelCaselocalCacheScopeSESSIONjdbcTypeForNulllazyLoadTriggerMethods どのオブジェクト メソッドが遅延読み込みをトリガーするかを指定します。 コンマで区切られたメソッド名のリストequals,clone,hashCode,toStringdefaultScriptingLanguage動的SQL生成のデフォルト言語を指定します。 型の別名または完全修飾クラス名。org.apache.ibatis.scripting.xmltags.XMLDynamicLanguageDrivercallSettersOnNulls結果セットの値がnullの場合にマップオブジェクトのセッターを呼び出すかどうかを指定します(map オブジェクト) (put) メソッド。Map.keySet() 依存関係または null 値の初期化がある場合に便利です。基本型 (int、boolean など) は null に設定できないことに注意してください。 tru​​e | falsefalselogPrefix MyBatis がログ名に追加するプレフィックスを指定します。 任意の文字列未設定logImplMyBatisが使用するログの特定の実装を指定します。指定されていない場合は、自動的に検索されます。CGLIB | JAVASSIST実際のアプリケーションでは、独自のニーズに従って構成する必要があります: たとえば、プロジェクト内の私の構成は次のとおりです。
<settings>

<setting name="jdbcTypeForNull" value="NULL" />

<setting name="logImpl" value="SLF4J" />

<setting name="mapUnderscoreToCamelCase" value="true" />

<setting name="defaultExecutorType" value="BATCH" />

</settings>
ログイン後にコピー
パラメータの設定 説明 有効な値 デフォルト値
cacheEnabled この設定の影響を受けるすべてのマッパーで設定されたキャッシュのグローバルスイッチ tru​​e tru​​e |
lazyLoadingEnabled 遅延読み込み用のグローバルスイッチ。有効にすると、関連付けられたすべての オブジェクト が遅延ロードされます。 特定の関連付けでは、項目のスイッチ状態は fetchTypeproperty tru​​e | false false
aggressiveLazyLoading を設定することでオーバーライドできます。有効にすると、遅延属性への呼び出しにより遅延読み込み属性が発生します。オブジェクトは完全にロードされます。それ以外の場合は、必要に応じて各属性がロードされます。 tru​​e | false tru​​e
multipleResultSetsEnabled 1 つのステートメントが複数の結果セットを返すことができるかどうか (互換性のあるドライバーが必要)。 tru​​e | false tru​​e
useColumnLabel 列名の代わりに列ラベルを使用します。この点に関しては、ドライバーが異なればパフォーマンスも異なります。詳細については、関連するドライバーのドキュメントを参照するか、これら 2 つの異なるモードをテストして使用したドライバーの結果を確認してください。 tru​​e | false tru​​e
useGeneratedKeys は、JDBCが主キーの自動生成をサポートできるようにし、ドライバーの互換性を必要とします。 true に設定すると、この設定により自動生成された主キーの使用が強制され、一部のドライバー (Derby など) に互換性がない場合でも機能します。 tru​​e | false False
autoMappingBehavior MyBatis が列をフィールドまたはプロパティに自動的にマップする方法を指定します。 NONE は自動マッピングをキャンセルすることを意味し、PARTIAL はネストされた結果セット マッピングを定義していない結果セットのみを自動的にマッピングします。 FULL は、任意の複雑な結果セット (ネストされているかどうか) を自動的にマップします。 NONE、PARTIAL、FULL PARTIAL
defaultExecutorType デフォルトのエグゼキュータを構成します。 SIMPLE は通常のエグゼキュータであり、REUSE エグゼキュータは準備されたステートメントを再利用し、BATCH エグゼキュータはステートメントを再利用してバッチ更新を実行します。 SIMPLE REUSE BATCH SIMPLE
defaultStatementTimeout ドライバーがデータベースの応答を待つ秒数を決定するタイムアウトを設定します。 任意の正の整数 未設定(null)
defaultFetchSize returnの結果のフェッチサイズを制御するためのヒントをドライバに設定します。このパラメータ値はクエリ設定によってオーバーライドできます。任意の正の整数 Not Set (null)
は、ネストされたステートメントでのページング (RowBounds) を許可します。 tru​​e False
自動キャメルケース命名規則 (キャメルケース) マッピング、つまり、クラシック データベース列名 A_COLUMN からクラシック Java 属性名への同様のマッピングをオンにするかどうかaコラム。 tru​​e | false False
MyBatis は、ローカル キャッシュ メカニズム (ローカル キャッシュ) を使用して、循環参照を防止し、繰り返されるネストされたクエリを高速化します。 デフォルト値は で、この場合、セッション内で実行されたすべてのクエリがキャッシュされます。 STATEMENT に設定すると、ローカル セッションはステートメントの実行にのみ使用され、同じ SqlSession への異なる呼び出しはデータを共有しません。 SESSION | STATEMENT SESSION
パラメータに特定の JDBC タイプが指定されていない場合に、null の JDBC タイプを指定します。 一部のドライバーでは、列の JDBC 型を指定する必要があります。ほとんどの場合、NULL、VARCHAR、または OTHER などの一般的な型を使用します。 JdbcType 列挙。最も一般的なのは、NULL、VARCHAR、OTHER です。 OTHER
SLF4J | LOG4J2 | COMMONS_LOGGING | NO_LOGGING 遅延読み込み機能を持つオブジェクトを作成するために Mybatis が使用するプロキシ ツールを指定します。
JAVASSIST (MyBatis 3.3 以降)


注:

一部の設定を含む log4j ログで SQL ステートメントを出力できない場合は、log4j 設定ファイルを確認するだけでなく、特に重要な点は <setting</p> name="logImpl" です。 " value="SLF4J" /> 構成では、次のような構成 (LOG4J が使用されている場合) を指定する必要があります:

<configuration> 
 <settings> 
 <setting name="logImpl" value="LOG4J"/> 
 </settings> 
</configuration>
ログイン後にコピー

以上がJava mybatisでの設定構成例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!