詳解MyBatis配置typeAliases的方法
0x00:前言參考
之前的《MyBatis 中 SqlMapConfig 配置文件詳解》記了一下 MyBatis 中的核心配置文件各個(gè)標(biāo)簽的作用和使用場(chǎng)景,這篇文章細(xì)說(shuō)一下配置文件中 typeAliases 標(biāo)簽的詳細(xì)使用。
0x01:標(biāo)簽介紹
在 MyBatis 的 sql 映射配置文件中,需要使用 paramterType、resultType 來(lái)設(shè)置 sql 語(yǔ)句的輸入輸出參數(shù),一般參數(shù)都是基本的數(shù)據(jù)類型或封裝類型,但都需要聲明該類型的全路徑,java.lang.String,或者 cn.com.mybatis.pojo.User, 這時(shí)就可以通過(guò) typeAliases 別名來(lái)設(shè)置,簡(jiǎn)化復(fù)雜度
0x02:代碼示例
例如之前介紹的模糊查詢示例,當(dāng)不使用別名,而使用全路徑時(shí),配置示例代碼如下:
<select parameterType='java.lang.String' resultType='cn.com.mybatis.pojo.User'> SELECT * FROM USER WHERE username LIKE ’%${value}%’</select>
當(dāng)通過(guò)設(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 映射配置文件中使用別名來(lái)指定輸入 / 輸出參數(shù)的類型了,其示例代碼如下:
<select 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)樾?xiě),其示例代碼如下:
<typeAliases> <package name='cn.com.mybatis.pojo'/></typeAliases>
這時(shí)設(shè)置的包名下的類就都有了別名,別名就是類名(首字母小寫(xiě)),像剛才的 User 類,其別名就為 user。 除了在配置文件中單獨(dú)的配置別名和批量的配置別名兩種方式外,還有一種方式,就是通過(guò)注解的方式來(lái)配置別名,方法也很簡(jiǎn)單,在需要配置別名的類前通過(guò) @Alias 注解即可,參數(shù)就是別名名稱,例如以下示例代碼:
@Alias('user')public class User{ //其他代碼}
0x04:常見(jiàn)類型別名匯總
MyBatis 已經(jīng)為 Java 常見(jiàn)類型默認(rèn)指定了別名,可以直接使用。因?yàn)橛幸恍┗緮?shù)據(jù)類型和包裝類型的名稱一樣(例如基本數(shù)據(jù)類型 byte 和包裝類型 java.lang.Byte),所以在基本的數(shù)據(jù)類型前面加了下劃線 “_” 來(lái)以此區(qū)分(byte 別名就是_byte,java.lang.Byte 別名就是 byte)。常見(jiàn)的類型對(duì)應(yīng)別名如下:
0x05:總結(jié)
在開(kāi)發(fā)中,經(jīng)常使用別名,可以提高開(kāi)發(fā)效率,簡(jiǎn)化配置。
到此這篇關(guān)于詳解MyBatis配置typeAliases的方法的文章就介紹到這了,更多相關(guān)MyBatis配置typeAliases內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. MYSQL數(shù)據(jù)庫(kù)存文本轉(zhuǎn)存數(shù)據(jù)庫(kù)問(wèn)題2. 學(xué)好Oracle的六條總結(jié)3. MySQL創(chuàng)始人發(fā)郵件尋求中國(guó)幫助4. 快速刪除ORACLE重復(fù)記錄5. 巧用SQL語(yǔ)言在ACCESS數(shù)據(jù)庫(kù)中批量替換內(nèi)容6. MySQL學(xué)習(xí)記錄之KEY分區(qū)引發(fā)的血案7. ACCESS轉(zhuǎn)SQL數(shù)據(jù)庫(kù)相關(guān)的幾個(gè)技能8. Mysql入門系列:MYSQL列類型選擇與MYSQL查詢效率9. 如何將mysql表的內(nèi)容追加導(dǎo)入另一張表10. mysql like語(yǔ)句問(wèn)題

網(wǎng)公網(wǎng)安備