Mybatisプロファイルの属性構成要素解析

10052 ワード

Mybatisプロファイルの属性構成要素解析
1.概要
設定要素はmybatisの中で最も複雑であり、最も重要な構成の一つでもある.mybatisの運行時の行動を変えて、settingsの要素を配置しなくても、mybatisは正常に運行できますが、settingsの配置内容はmybatisを使うには百利です.
2.settingsの設定属性
settings
これはMyBatisの中で極めて重要な調整設定であり、それらはMyBatisの運転時の挙動を変えます.下の表では、設定中の各項目の意図、デフォルト値などを説明します.
パラメータを設定
説明
有効値
標準値
cacheEnbled
全体的に設定ファイルのすべてのマッパーが設定したキャッシュをオンまたはオフにします.
true false
true
lazy LoadingEnbaled
ロードのグローバルスイッチを遅延します.オープン時には、すべての関連オブジェクトのロードが遅延されます.特定の関連関係では、fetType属性を設定することによって、当該項目のスイッチング状態をカバーすることができます.
true false
false
aggressvieLazy Loading
起動時には、どの方法の呼び出しも、オブジェクトのすべての属性をロードします.属性ごとに必要に応じてロードされます.
true false
false(true in≦3.4.1)
multiplleResult Sets Enbaled
単一の語句が複数の結果セットに戻ることを許可するかどうか(互換駆動が必要).
true false
true
use ColumnLabel
列名の代わりに列のラベルを使います.この点では駆動の違いがあります.具体的には関連する駆動ドキュメントを参照したり、これらの2つの異なるモードをテストしたりして、使用した駆動の結果を観察します.
true false
true
useGenerate edKeys
JDBCは自動的にメインキーを生成することができます.ドライバ互換性が必要です.trueに設定すると、この設定は自動的にメインキーを生成するために強制的に使用されます.いくつかのドライバは互換できませんが、Derbyなどは正常に動作します.
true false
False
aut MappingBehavior
MyBatisをフィールドまたは属性に自動的にマッピングする方法を指定します.NONEは自動マッピングを解除します.PATIALはネストされた結果セットのマッピングが定義されていない結果セットだけを自動的にマッピングします.FLLは任意の複雑な結果セットを自動的にマッピングします.
NONE、PARTAL、FULL
PARTAL
aut MappingUniknown Column Behavior
ターゲット不明の列(または未知の属性タイプ)を自動的にマッピングする挙動を指定します.
  • NONE:何の反応もしない
  • WARNING:出力アラームログ(‘org.apphe.ibatis.session.AutoMappingUniknown Column Behavior’のログレベルはWARNに設定しなければならない)
  • FAILING:マッピング失敗(Sql Session Exceptionをスロー)
  • NONE、WARNING、FAILING
    NONE
    default ExectorType
    デフォルトのアクチュエータを設定します.SIMPPLEは普通のアクチュエータです.REUSアクチュエータは前処理文を再利用します.BATCHアクチュエータは文を再利用して、一括更新を行います.
    SIMPLE REUSE BATCH
    SIM PLE
    default Statement Timeout
    タイムアウト時間を設定します.データベース応答待ちの秒数を決定します.
    任意の正の整数
    Notセット(null)
    defaultFetch Size
    ドライバの結果セット取得数にヒント値を設定します.このパラメータはクエリー設定のみで上書きできます.
    任意の正の整数
    Notセット(null)
    safeRowBounds Enbaled
    ネストされた文の中で改ページ(RowBounds)の使用を許可します.使用が許可されている場合はfalseに設定します.
    true false
    False
    safeResult Handler Enbaled
    ネストされた文の中で改ページを使用することができます.許可されている場合はfalseに設定します.
    true false
    True
    mapUnderscore ToCamelCase
    自動ラクダピーク命名規則(camel case)マッピングがオンされているかどうか、すなわち古典データベース列名AuCOLUMNから古典Java属性名aColumnまでの類似マッピングです.
    true false
    False
    locacacacheScope
    MyBatisは、ローカルキャッシュ機構(Local Cache)を利用して、ループ参照(circuar references)と重複したクエリを防止します.デフォルト値はSESSIONです.この場合、一つのセッションで実行されるすべてのクエリがキャッシュされます.設定値がSTATEMENTであれば、ローカルセッションは文のみで実行され、同じSql Sessionの違いに対してデータを共有しません.
    SESSION STATENT
    SESSION
    jdbcType ForNull
    パラメータに特定のJDBCタイプを提供していない場合は、空の値にJDBCタイプを指定します.特定のドライバは列のJDBCタイプを指定する必要があります.多くの場合、直接にNULL、VRCHARR、OTHERなどの一般タイプを使用すればいいです.
    JdbcTypeの定数は、ほとんどがNULL、VRCHARR and OTHERです.
    OTHER
    lazy LoadTrigger Methods
    どのオブジェクトの方法を指定して、一回の遅延負荷をトリガしますか?
    コンマで区切る方法のリスト.
    equals、clone、hashCode、toString
    default ScripptingLanguage
    動的SQLによって生成されるデフォルトの言語を指定します.
    タイプ別名またはクラス名を完全に定義します.
    org.apache.ibatis.scripting.xmltags.XMLLangage Driver
    default Enum Type Handler
    Enumで使用するデフォルトType Handlerを指定します.(3.4.5から)
    タイプ別名またはクラス名を完全に定義します.
    org.apache.ibatis.type.EnumType Handler
    calSetters ONulls
    結果セット値がnullの場合、マッピング対象のsetter(mapオブジェクトの場合はput)を呼び出すかどうかを指定する方法は、Map.keySet()依存またはnull値の初期化がある場合に有用です.基本タイプ(int、bollanなど)はnullに設定できません.
    true false
    false
    return Instance ForEmptyRow
    行に戻るすべての列が空の場合、MyBatisはデフォルトでnullに戻ります.この設定をオンにすると、MyBatisは空の例を返します.入れ子の結果集(i.e.collection and assion)にも適用されます.(3.4.2から)
    true false
    false
    logPrfix
    MyBatisをログ名のプレフィックスに追加するよう指定します.
    すべての文字列
    Not set
    logImpl
    MyBatis用ログの具体的な実装を指定します.指定されていない場合は自動的に検索されます.
    SLF 4 J_LOG 4 J_LOG 4 J 2𞓜JDKuLOGGING 124; COMMONS_LOGGING_stdOUT_LOGGING
    Not set
    proxyFactory
    Mybatisが遅延負荷能力を持つオブジェクトを作成するために使用されるプロキシツールを指定します.
    CGLOIB|JAVAISSIST
    JAVANSSIST(MyBatis 3.3 or above)
    vfsImpl
    指定VFSの実現
    VFSの実装クラスのフルネームをカスタマイズして、カンマで区切ります.
    Not set
    useActual Parame Name
    メソッド署名の名前をステートメントパラメータ名として使用することができます.この特性を使用するためには、プロジェクトはJava 8でコンパイルし、-parametersオプションを加えなければなりません.(3.4.1から)
    true false
    true
    configrationFactory
    Configrationのインスタンスを提供するクラスを指定します.この返されたConfigrationの例は、アンチプログレッシブオブジェクトの怠惰なロード属性値をロードするために使用されます.このクラスは、署名方法static Cofigration getConfigration().(3.2.3バージョンから)を含む必要があります.
    タイプ別名または全類名.
    Not set
    一つの構成の完全なsettings要素の例は以下の通りである.
    
       name="cacheEnabled" value="true"/>
       name="lazyLoadingEnabled" value="true"/>
       name="multipleResultSetsEnabled" value="true"/>
       name="useColumnLabel" value="true"/>
       name="useGeneratedKeys" value="false"/>
       name="autoMappingBehavior" value="PARTIAL"/>
       name="autoMappingUnknownColumnBehavior" value="WARNING"/>
       name="defaultExecutorType" value="SIMPLE"/>
       name="defaultStatementTimeout" value="25"/>
       name="defaultFetchSize" value="100"/>
       name="safeRowBoundsEnabled" value="false"/>
       name="mapUnderscoreToCamelCase" value="false"/>
       name="localCacheScope" value="SESSION"/>
       name="jdbcTypeForNull" value="OTHER"/>
       name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
    
      
    3.