mybatisにおけるsetting配置の詳細
mybaitsにおいて、settingの設定パラメータは以下の通りである(設定ファイルに配置しないとデフォルト値が使用される)。
パラメータを設定
説明
有効値
標準値
cacheEnbled
この設定が影響するすべてのマッパーに設定されたキャッシュのグローバルスイッチ
true false
true
lazy LoadingEnbaled
ロードのグローバルスイッチを遅延します。オープン時には、すべての関連オブジェクトのロードが遅延されます。特定の関連関係では、fetType属性を設定することにより、当該項目のスイッチング状態をカバーすることができます。
true false
false
aggressvieLazy Loading
有効にすると、遅延属性の任意の呼び出しは、遅延負荷属性を持つオブジェクトを完全にロードします。逆に各属性は必要に応じてロードされます。
true false
true
multiplleResult Sets Enbaled
単一の語句が複数の結果セットに戻ることを許可するかどうか(互換駆動が必要)。
true false
true
use ColumnLabel
列の名前の代わりに列のラベルを使います。この点において駆動の違いは、関連する駆動ドキュメントを参照したり、これらの2つの異なるモードをテストしたりして、使用された駆動の結果を観察することができます。
true false
true
useGenerate edKeys
JDBCはメインキーの自動生成に対応していますので、駆動互換が必要です。trueに設定すると、この設定は自動的にメインキーを生成するために強制されます。いくつかのドライバは互換性がないにもかかわらず、正常に動作します。
true false
False
aut MappingBehavior
MyBatisをフィールドまたは属性に自動的にマッピングする方法を指定します。NONEは自動マッピングをキャンセルすることを表します。PARTALはネスト結果セットマッピングの結果セットを定義していないだけ自動的にマッピングされます。FULLは、任意の複雑な結果セットを自動的にマッピングします。
NONE、PARTAL、FULL
PARTAL
default ExectorType
デフォルトの実行器を設定します。SIM PLEは普通のアクチュエータです。REUSEアクチュエータは前処理文(prepared statements)を再利用します。BATCHアクチュエータは、ステートメントを再使用し、一括更新を実行します。
SIMPLE REUSE BATCH
SIM PLE
default Statement Timeout
タイムアウト時間を設定します。データベース応答待ちの秒数を決定します。
Any positive integer
Notセット(null)
defaultFetch Size
Sets the driver a hint as to control fetch size for return reults.This parameter value can be override by a query setting.
Any positive integer
Notセット(null)
safeRowBounds Enbaled
ネストされた文の中で改ページ(RowBounds)の使用を許可します。
true false
False
mapUnderscore ToCamelCase
自動ラクダピーク命名規則(camel case)マッピングをオンにするかどうか、すなわち経典データベース列名A_COLUMNから古典Java属性名aColumnまでの類似のマッピング。
true false
False
locacacacheScope
MyBatisは、ローカルキャッシュ機構(Local Cache)を利用して、循環参照(circuar references)を防止し、加速して入れ子クエリを繰り返す。デフォルト値はSESSIONで、この場合は1つのセッションで実行されるすべてのクエリがキャッシュされます。設定値がSTATEMENTの場合、ローカルセッションはステートメント実行にのみ使用され、同じSql Sessionに対する異なる呼び出しはデータを共有しない。
SESSION STATENT
SESSION
jdbcType ForNull
パラメータに特定のJDBCタイプを提供していない場合は、JDBCタイプを空の値に指定します。特定のドライバには列を指定するJDBCタイプが必要です。多くの場合、直接にNULL、VRCHARRまたはOTHERなどの一般タイプを使えばいいです。
JdbcType enumeration.Most comon are:NULL、VRCHAR and OTHER
OTHER
lazy LoadTrigger Methods
どのオブジェクトの方法を指定して、一回の遅延負荷をトリガしますか?
A method name list separated by comas
equals、clone、hashCode、toString
default ScripptingLanguage
動的SQLによって生成されるデフォルトの言語を指定します。
A type alias or fully qualified class name.
org.apache.ibatis.scripting.xmltags.XMLDynamicLanguagDriver
calSetters ONulls
結果セット値がnullの場合、マッピングオブジェクトのsetter(mapオブジェクトの場合はput)を呼び出すかどうかを指定する方法は、Map.keySet()依存またはnull値の初期化がある場合に有用である。注意基本タイプ(int、bollanなど)はnullに設定できません。
true false
false
logPrfix
MyBatisをログ名のプレフィックスに追加するよう指定します。
Any String
Not set
logImpl
MyBatis用ログの具体的な実装を指定します。指定されていない場合は自動的に検索されます。
SLF 4 J_LOG 4 J_LOG 4 J 2𞓜JDK_LOGGING|COMMONS_LOGGING_STDOUT_LOGGING_NO_uLOGGING
Not set
proxyFactory
Mybatisが遅延負荷能力を持つオブジェクトを作成するために使用されるプロキシツールを指定します。
CGLOIB|JAVAISSIST
JAVANSSIST(MyBatis 3.3 or above)
実際のアプリケーションでは、自分のニーズに応じて構成します。
例えば私のプロジェクトの構成は以下の通りです。
以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に一定の助けをもたらすことを望んでいます。もし疑問があれば、メッセージを残して交流してください。ありがとうございます。
パラメータを設定
説明
有効値
標準値
cacheEnbled
この設定が影響するすべてのマッパーに設定されたキャッシュのグローバルスイッチ
true false
true
lazy LoadingEnbaled
ロードのグローバルスイッチを遅延します。オープン時には、すべての関連オブジェクトのロードが遅延されます。特定の関連関係では、fetType属性を設定することにより、当該項目のスイッチング状態をカバーすることができます。
true false
false
aggressvieLazy Loading
有効にすると、遅延属性の任意の呼び出しは、遅延負荷属性を持つオブジェクトを完全にロードします。逆に各属性は必要に応じてロードされます。
true false
true
multiplleResult Sets Enbaled
単一の語句が複数の結果セットに戻ることを許可するかどうか(互換駆動が必要)。
true false
true
use ColumnLabel
列の名前の代わりに列のラベルを使います。この点において駆動の違いは、関連する駆動ドキュメントを参照したり、これらの2つの異なるモードをテストしたりして、使用された駆動の結果を観察することができます。
true false
true
useGenerate edKeys
JDBCはメインキーの自動生成に対応していますので、駆動互換が必要です。trueに設定すると、この設定は自動的にメインキーを生成するために強制されます。いくつかのドライバは互換性がないにもかかわらず、正常に動作します。
true false
False
aut MappingBehavior
MyBatisをフィールドまたは属性に自動的にマッピングする方法を指定します。NONEは自動マッピングをキャンセルすることを表します。PARTALはネスト結果セットマッピングの結果セットを定義していないだけ自動的にマッピングされます。FULLは、任意の複雑な結果セットを自動的にマッピングします。
NONE、PARTAL、FULL
PARTAL
default ExectorType
デフォルトの実行器を設定します。SIM PLEは普通のアクチュエータです。REUSEアクチュエータは前処理文(prepared statements)を再利用します。BATCHアクチュエータは、ステートメントを再使用し、一括更新を実行します。
SIMPLE REUSE BATCH
SIM PLE
default Statement Timeout
タイムアウト時間を設定します。データベース応答待ちの秒数を決定します。
Any positive integer
Notセット(null)
defaultFetch Size
Sets the driver a hint as to control fetch size for return reults.This parameter value can be override by a query setting.
Any positive integer
Notセット(null)
safeRowBounds Enbaled
ネストされた文の中で改ページ(RowBounds)の使用を許可します。
true false
False
mapUnderscore ToCamelCase
自動ラクダピーク命名規則(camel case)マッピングをオンにするかどうか、すなわち経典データベース列名A_COLUMNから古典Java属性名aColumnまでの類似のマッピング。
true false
False
locacacacheScope
MyBatisは、ローカルキャッシュ機構(Local Cache)を利用して、循環参照(circuar references)を防止し、加速して入れ子クエリを繰り返す。デフォルト値はSESSIONで、この場合は1つのセッションで実行されるすべてのクエリがキャッシュされます。設定値がSTATEMENTの場合、ローカルセッションはステートメント実行にのみ使用され、同じSql Sessionに対する異なる呼び出しはデータを共有しない。
SESSION STATENT
SESSION
jdbcType ForNull
パラメータに特定のJDBCタイプを提供していない場合は、JDBCタイプを空の値に指定します。特定のドライバには列を指定するJDBCタイプが必要です。多くの場合、直接にNULL、VRCHARRまたはOTHERなどの一般タイプを使えばいいです。
JdbcType enumeration.Most comon are:NULL、VRCHAR and OTHER
OTHER
lazy LoadTrigger Methods
どのオブジェクトの方法を指定して、一回の遅延負荷をトリガしますか?
A method name list separated by comas
equals、clone、hashCode、toString
default ScripptingLanguage
動的SQLによって生成されるデフォルトの言語を指定します。
A type alias or fully qualified class name.
org.apache.ibatis.scripting.xmltags.XMLDynamicLanguagDriver
calSetters ONulls
結果セット値がnullの場合、マッピングオブジェクトのsetter(mapオブジェクトの場合はput)を呼び出すかどうかを指定する方法は、Map.keySet()依存またはnull値の初期化がある場合に有用である。注意基本タイプ(int、bollanなど)はnullに設定できません。
true false
false
logPrfix
MyBatisをログ名のプレフィックスに追加するよう指定します。
Any String
Not set
logImpl
MyBatis用ログの具体的な実装を指定します。指定されていない場合は自動的に検索されます。
SLF 4 J_LOG 4 J_LOG 4 J 2𞓜JDK_LOGGING|COMMONS_LOGGING_STDOUT_LOGGING_NO_uLOGGING
Not set
proxyFactory
Mybatisが遅延負荷能力を持つオブジェクトを作成するために使用されるプロキシツールを指定します。
CGLOIB|JAVAISSIST
JAVANSSIST(MyBatis 3.3 or above)
実際のアプリケーションでは、自分のニーズに応じて構成します。
例えば私のプロジェクトの構成は以下の通りです。
<settings>
<setting name="jdbcTypeForNull" value="NULL" />
<setting name="logImpl" value="SLF4J" />
<setting name="mapUnderscoreToCamelCase" value="true" />
<setting name="defaultExecutorType" value="BATCH" />
</settings>
注意点:やや構成されたログ4 jのログがsql文を印刷できない場合、ロゴ4 jのプロファイルを確認するだけでなく、特に重要なのは<setting
name="logImpl" value="SLF4J" />
の構成であり、配置を指定するべきである(LOG 4 Jを使用すれば)、例えば:
<configuration>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
</configuration>
締め括りをつける以上はこの文章の全部の内容です。本文の内容は皆さんの学習や仕事に一定の助けをもたらすことを望んでいます。もし疑問があれば、メッセージを残して交流してください。ありがとうございます。