MyBatis中selectByExample和selectByExampleWithBLOBs區(qū)別

先貼一段MyBatis逆向工程自動生成的xml配置文件片段

selectByExample.png

selectByExampleWithBLOBs.png

可以看出,兩段SQL查詢返回的resultMap不同,一個是BaseResultMap,另一個是ResultMapWithBLOBs。再來看一下這兩個自定義resultMap的配置
BaseResultMap.png
ResultMapWithBLOBs.png

ResultMapWithBLOBs繼承了BaseResultMap,不僅有了BaseResultMap中的屬性,同時也有了自己的paramData屬性。可為什么MyBatis單獨將param_data列拿出來作為一個自定義resultMap呢?param_data列的指定jdbcType為longvarchar類型,而這個jdbcType屬性是JDBC需要用到的,MyBatis用不到。再來看一下數(shù)據(jù)庫表結(jié)構
tb_item_param.png

param_data字段類型為text。故如需檢索的字段中包含大字段類型時,必須用selectByExampleWithBLOBs,不檢索大字段時,用selectByExample就足夠了。update同樣如此。
有什么辦法可以在MyBatis逆向工程時不需要針對大字段類型單獨生成一個resultMap來操作呢?

<table schema="" tableName="tb_content">
    <columnOverride column="param_data" javaType="java.lang.String" jdbcType="VARCHAR" />  
</table>

這樣在逆向工程時,param_data列的jdbcType就會自動轉(zhuǎn)換成VARCHAR類型,也就不會再生成后綴為Blobs的方法了。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1. 簡介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存儲過程以及高級映射的優(yōu)秀的...
    笨鳥慢飛閱讀 6,224評論 0 4
  • mybatis 動態(tài)SQL以及和spring的集成 3.6 動態(tài)SQL 有時候,靜態(tài)的 SQL 語句并不能滿足應用...
    小Q逛逛閱讀 1,386評論 0 2
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內(nèi)部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,637評論 18 399
  • 官方文檔 簡介 入門 XML配置 XML映射文件 動態(tài)SQL Java API SQL語句構建器 日志 一、 JD...
    拾壹北閱讀 3,648評論 0 52
  • 以前總是覺得時間可怕,沒想過會和一個人談9年戀愛;一個人用三年時間健身成美男會讓我驚嘆不已。我從來也沒有覺得自己能...
    踏著朝陽閱讀 297評論 0 2

友情鏈接更多精彩內(nèi)容