Mybatis配置說明

有理解不到位的歡迎指正

配置 描述 默認值
cacheEnabled 二級緩存,全局開啟/關(guān)閉緩存,如果配置為false,會覆蓋各個Mapper文件中的cache配置 true/false true
lazyLoadingEnabled 主要是級聯(lián)時使用,全局開啟/關(guān)閉懶加載腥放,如果配置為true,所有關(guān)聯(lián)對象都會被加載议泵。fetchType配置會覆蓋全局配置 true/false alse
aggressiveLazyLoading 和lazyLoadingEnabled配合使用驮配。lazyLoadingEnabled為true時,aggressiveLazyLoading為true則加載所有懶加載對象同诫,為false則按需加載懶加載對象 true/false false (true in ≤3.4.1)
multipleResultSetsEnabled 允許/不允許一條SQL返回多個結(jié)果集粤策,具體情形請查看附錄1 true/false true
useColumnLabel 使用列索引號代替列名稱 true/false true
useGeneratedKeys 允許JDBC 生成主鍵。需要可兼容的驅(qū)動器误窖。如果配置為true叮盘,將強制使用被生成的主鍵,不兼容的驅(qū)動器仍然執(zhí)行霹俺。 true/false false
autoMappingBehavior 指定如何自動映射到對象的字段柔吼、屬性。NONE丙唧,不映射愈魏。PARTIAL,除了內(nèi)嵌屬性其余的進行映射想际。FULL 培漏,全映射,包含內(nèi)嵌屬性胡本。 NONE, PARTIAL, FULL PARTIAL
autoMappingUnknownColumnBehavior 當(dāng)檢測到無法匹配的屬性時牌柄,如何執(zhí)行。NONE侧甫,什么也不做珊佣。WARNING,打印警告日志披粟。FAILING咒锻,失敗拋異常 NONE, WARNING, FAILING NONE
defaultExecutorType 執(zhí)行器類型,SIMPLE是普通的執(zhí)行器僻爽;REUSE執(zhí)行器會重用預(yù)處理語句(prepared statements)虫碉;BATCH執(zhí)行器將重用語句并執(zhí)行批量更新,注意事項請查看附錄3 SIMPLE REUSE BATCH SIMPLE
defaultStatementTimeout SQL執(zhí)行超時時間 Any positive integer Not Set
defaultFetchSize 設(shè)置最大的抓取數(shù)量胸梆,會被query方法上設(shè)置的覆蓋 Any positive integer Not Set
safeRowBoundsEnabled 允許在嵌套語句中使用分頁(RowBounds) true/false false
safeResultHandlerEnabled 允許在嵌套語句中使用分頁(ResultHandler) true/false true
mapUnderscoreToCamelCase 是否開啟自動駝峰命名規(guī)則 true/false false
localCacheScope 一級緩存敦捧,mybatis利用本地緩存來防止重復(fù)查詢须板、加速重復(fù)的內(nèi)嵌查詢。默認的作用域是Session兢卵,一次回話中的所有查詢都會被緩存习瑰。當(dāng)作用域是STATEMENT時,本地緩存僅作用域語句執(zhí)行上秽荤,即便是同一會話的不同的調(diào)用甜奄,也不會有任何數(shù)據(jù)會共享 SESSION/STATEMENT SESSION
jdbcTypeForNull 沒有指定jdbcType的參數(shù),其返回值為NULL時窃款,指定 jdbcType课兄。 某些驅(qū)動需要指定jdbcType,其他驅(qū)動直接用一般類型即可晨继,比如 NULL烟阐、VARCHAR 或 OTHER。 JdbcType enumeration. Most common are: NULL, VARCHAR and OTHER OTHER
lazyLoadTriggerMethods 指定某些方法懶加載 方法名組成的列表紊扬,方法名之間中逗號分隔 equals,clone,hashCode,toString
defaultScriptingLanguage 指定動態(tài) SQL 生成的默認語言 類名或者類的全路徑 org.apache.ibatis.scripting.xmltags.XMLLanguageDriver
defaultEnumTypeHandler 執(zhí)行枚舉類的處理方法 類名或者類的全路徑 org.apache.ibatis.type.EnumTypeHandler
callSettersOnNulls 當(dāng)結(jié)果集中值為 null 的時候是否調(diào)用映射對象的 setter(map 對象時為 put)方法蜒茄,這對于有 Map.keySet() 依賴或 null 值初始化的時候是有用的。注意基本類型(int餐屎、boolean等)是不能設(shè)置成 null 的 true/false false
returnInstanceForEmptyRow Mybatis檀葛,當(dāng)結(jié)果集為NULL的時候返回null。如果設(shè)置為true腹缩,Mybatis會返回一個空的實例屿聋。內(nèi)置的集合(collection、association)也會返回空的對象實例(3.4.2+) true/false false
logPrefix 指定 MyBatis 增加到日志名稱的前綴 自定義字符串 Not set
proxyFactory 創(chuàng)建懶加載對象時用到的代理工具類 CGLIB/JAVASSIST JAVASSIST(3.3+)
vfsImpl 指定VFS的實現(xiàn)類 自定義類的全路徑庆聘,用逗號分隔胜臊。 Not set
useActualParamName 允許SQL語句中使用mapper接口聲明的變量名稱,前提是你的項目是用Java編譯的伙判,并且在mapper接口的方法上使用@param true/false true
configurationFactory 自定義生成Configuration的類象对,返回的Configuration的實例用于加載反序列化對象的懶加載屬性,該類必須有static Configuration getConfiguration()方法 類名或者類的全路徑 Not set

附錄1 multipleResultSetsEnabled

<resultMap id="adminCashBalance" type="AdminCashBalance">
...
</resultMap>

<resultMap id="adminCashMovement" type="AdminCashMovement">
...
</resultMap>

<resultMap id="adminCashTrx" type="AdminCashTrx">
...
</resultMap>

<select id="findCashItems" parameterType="map" resultMap="adminCashBalance, adminCashMovement, adminCashTrx">
    exec RequestActualAdministrativeData #{portfolioId}
</select>

附錄2 autoMappingBehavior

主要針對<resultMap>中沒有配置<result>情形使用:
設(shè)置為NONE宴抚,則不會映射勒魔,設(shè)置為PARTIAL,則feelingComments不會被映射菇曲,設(shè)置為FULL冠绢,則全部映射,這樣就無需寫<result>了

<resultMap id="FeelingCommentResult" type="Feeling">
    <id property="feeling_id" column="feeling_id" />
    <!-- <result property="content" column="content" /> -->
    <collection property="feelingComments" ofType="FeelingComment">
        <id property="feeling_comment_id" column="feeling_comment_id" />
        <!-- <result property="commentContent" column="commentContent" /> -->
    </collection>
</resultMap>
<select id="selectFeelingComment" parameterType="map" resultMap="FeelingCommentResult">
    select * from feeling 
        left outer join feeling_comment on feeling.feeling_id=feeling_comment.feeling_id
       where feeling.id =#{id}
</select>

【轉(zhuǎn)】https://blog.csdn.net/qq_1017097573/article/details/70942800

附錄3

  • 設(shè)為"SIMPLE", 在執(zhí)行xxxDao.save(xxx)時常潮,就相當(dāng)于JDBC的stmt.execute(sql)弟胀;
  • 設(shè)為"REUSE", 在執(zhí)行xxxDao.save(xxx)時,相當(dāng)于JDBC重用一條sql,再通過stmt傳入多項參數(shù)值孵户,然后執(zhí)行stmt.executeUpdate()或stmt.executeBatch()萧朝;
  • 設(shè)為"BATCH", 在執(zhí)行xxxDao.save(xxx)時,相當(dāng)于JDBC語句的 stmt.addBatch(sql)夏哭,即僅僅是將執(zhí)行SQL加入到批量計劃检柬。

如果執(zhí)行器設(shè)為BATCH,發(fā)生主鍵沖突時竖配,只會在該方法調(diào)用結(jié)束后何址、在事務(wù)提交前才拋出異常。
因為設(shè)為BATCH時进胯,僅僅是將執(zhí)行SQL加入到批量計劃用爪。所以此時不會拋出主鍵沖突等運行時異常,而只有臨近commit前執(zhí)行stmt.execteBatch()后才會拋出異常胁镐。

具體請查看博客:【轉(zhuǎn)】https://blog.csdn.net/liuxiao723846/article/details/52195378

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末项钮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子希停,更是在濱河造成了極大的恐慌,老刑警劉巖署隘,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宠能,死亡現(xiàn)場離奇詭異,居然都是意外死亡磁餐,警方通過查閱死者的電腦和手機违崇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來诊霹,“玉大人羞延,你說我怎么就攤上這事∑⒒梗” “怎么了伴箩?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鄙漏。 經(jīng)常有香客問我嗤谚,道長,這世上最難降的妖魔是什么怔蚌? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任巩步,我火速辦了婚禮,結(jié)果婚禮上桦踊,老公的妹妹穿的比我還像新娘椅野。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布竟闪。 她就那樣靜靜地躺著离福,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瘫怜。 梳的紋絲不亂的頭發(fā)上术徊,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機與錄音鲸湃,去河邊找鬼赠涮。 笑死,一個胖子當(dāng)著我的面吹牛暗挑,可吹牛的內(nèi)容都是我干的笋除。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼懦底!你這毒婦竟也來了辛馆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤国拇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后惯殊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體酱吝,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年土思,在試婚紗的時候發(fā)現(xiàn)自己被綠了务热。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡己儒,死狀恐怖崎岂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情闪湾,我是刑警寧澤冲甘,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站响谓,受9級特大地震影響损合,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜娘纷,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一嫁审、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧赖晶,春花似錦律适、人聲如沸辐烂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纠修。三九已至,卻和暖如春厂僧,著一層夾襖步出監(jiān)牢的瞬間扣草,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工颜屠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辰妙,地道東北人。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓甫窟,卻偏偏與公主長得像密浑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子粗井,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1. 簡介 1.1 什么是 MyBatis 尔破? MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優(yōu)秀的...
    笨鳥慢飛閱讀 5,520評論 0 4
  • 1. maven工程項目結(jié)構(gòu)工程結(jié)構(gòu)圖 2. jsp文件中的引入方式截圖js文件引入方式截圖 3. 報錯現(xiàn)象截圖j...
    GuangHui閱讀 2,154評論 0 0
  • 001看懂時代 未來是一個個體崛起的時代浇衬,卻不是每個個體都崛起的時代懒构。要看清趨勢,理解規(guī)律耘擂,借助外力痴脾,不能低水平勤...
    Fanny讀書閱讀 265評論 0 3
  • 我討厭無休止的這樣 生命被摁在墻上 像釘在上面的時鐘 無意義的擺動 一切為了什么 父母、妻子梳星、孩子 抑或食物、房子...
    王神馬閱讀 144評論 0 0