詳解MyBatis配置typeAliases的方法
0x00:前言參考
之前的《MyBatis 中 SqlMapConfig 配置文件詳解》記了一下 MyBatis 中的核心配置文件各個(gè)標(biāo)簽的作用和使用場(chǎng)景,這篇文章細(xì)說一下配置文件中 typeAliases 標(biāo)簽的詳細(xì)使用。
0x01:標(biāo)簽介紹
在 MyBatis 的 sql 映射配置文件中,需要使用 paramterType、resultType 來設(shè)置 sql 語句的輸入輸出參數(shù),一般參數(shù)都是基本的數(shù)據(jù)類型或封裝類型,但都需要聲明該類型的全路徑,java.lang.String,或者 cn.com.mybatis.pojo.User, 這時(shí)就可以通過 typeAliases 別名來設(shè)置,簡(jiǎn)化復(fù)雜度
0x02:代碼示例
例如之前介紹的模糊查詢示例,當(dāng)不使用別名,而使用全路徑時(shí),配置示例代碼如下:
<select id="findUserByUsername" parameterType="java.lang.String" resultType="cn.com.mybatis.pojo.User"> SELECT * FROM USER WHERE username LIKE '%${value}%' </select>
當(dāng)通過設(shè)置 MyBatis 的全局配置文件 SqlMapConfig 中的 typeAliases 屬性后,就可以為 sql 映射文件中的輸入 / 輸出參數(shù)設(shè)置類型別名,然后在 sql 映射配置文件中指定輸入輸出參數(shù)類型時(shí)使用的別名。首先,SqlMapConfig 配置文件示例如下:
<typeAliases> <typeAlias alias="user" type="cn.com.mybatis.pojo.User"/> <typeAlias alias="str" type="java.lang.String"/> </typeAliases>
這樣就可以在 sql 映射配置文件中使用別名來指定輸入 / 輸出參數(shù)的類型了,其示例代碼如下:
<select id="findUserByUsername" parameterType="str" resultType="user"> SELECT * FROM USER WHERE username LIKE '%${value}%' </select>
0x03:別名拓展
像剛才的 JavaBean,User 是放在 cn.com.mybatis.pojo 包里的,包里可能也會(huì)存在其他多個(gè) JavaBean,這時(shí)候一個(gè)一個(gè)配置別名就會(huì)很麻煩,這時(shí)候就需要批量定義別名,批量指定很簡(jiǎn)單,只要指定包名即可,之后程序會(huì)為包下的所有類都自動(dòng)加上別名,其定義別名的規(guī)范就是對(duì)應(yīng)包裝類的類名首字母變?yōu)樾?,其示例代碼如下:
<typeAliases> <package name="cn.com.mybatis.pojo"/> </typeAliases>
這時(shí)設(shè)置的包名下的類就都有了別名,別名就是類名(首字母小寫),像剛才的 User 類,其別名就為 user。
除了在配置文件中單獨(dú)的配置別名和批量的配置別名兩種方式外,還有一種方式,就是通過注解的方式來配置別名,方法也很簡(jiǎn)單,在需要配置別名的類前通過 @Alias 注解即可,參數(shù)就是別名名稱,例如以下示例代碼:
@Alias("user") public class User{ //其他代碼 }
0x04:常見類型別名匯總
MyBatis 已經(jīng)為 Java 常見類型默認(rèn)指定了別名,可以直接使用。因?yàn)橛幸恍┗緮?shù)據(jù)類型和包裝類型的名稱一樣(例如基本數(shù)據(jù)類型 byte 和包裝類型 java.lang.Byte),所以在基本的數(shù)據(jù)類型前面加了下劃線 “_” 來以此區(qū)分(byte 別名就是_byte,java.lang.Byte 別名就是 byte)。常見的類型對(duì)應(yīng)別名如下:
0x05:總結(jié)
在開發(fā)中,經(jīng)常使用別名,可以提高開發(fā)效率,簡(jiǎn)化配置。
到此這篇關(guān)于詳解MyBatis配置typeAliases的方法的文章就介紹到這了,更多相關(guān)MyBatis配置typeAliases內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
實(shí)例講解分布式緩存軟件Memcached的Java客戶端使用
這篇文章主要介紹了分布式緩存軟件Memcached的Java客戶端使用,Memcached在GitHub上開源,作者用其Windows平臺(tái)下的版本進(jìn)行演示,需要的朋友可以參考下2016-01-01MybatisPlusInterceptor依賴變紅如何解決,無法識(shí)別問題
這篇文章主要介紹了MybatisPlusInterceptor依賴變紅如何解決,無法識(shí)別問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07解決spring boot創(chuàng)建項(xiàng)目遇到配置的問題
這篇文章主要介紹了解決spring boot創(chuàng)建項(xiàng)目遇到配置的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09java集合Collection實(shí)現(xiàn)類解析ArrayList?LinkedList及Vector
這篇文章主要為大家介紹了java集合Collection實(shí)現(xiàn)類解析ArrayList?LinkedList及Vector,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-03-03

Java數(shù)據(jù)結(jié)構(gòu)之鏈表詳解