Mybatis 全域性配置檔案中typeAliases(別名)
在具體的mapper.xml檔案中,定義很多的statement,statement需要parameterType指定輸入引數的型別、需要resultType指定輸出結果的對映型別。
如果在指定型別時輸入型別全路徑,不方便進行開發,可以針對parameterType或resultType指定的型別定義一些別名,在mapper.xml中通過別名定義,方便開發。
一.mybatis預設支援別名
別名 |
對映的型別 |
_byte |
byte |
_long |
long |
_short |
short |
_int |
int |
_integer |
int |
_double |
double |
_float |
float |
_boolean |
boolean |
string |
String |
byte |
Byte |
long |
Long |
short |
Short |
int |
Integer |
integer |
Integer |
double |
Double |
float |
Float |
boolean |
Boolean |
date |
Date |
decimal |
BigDecimal |
bigdecimal |
BigDecimal |
如下圖所示:int就是別名;
二.自定義別名
單個定義別名
使用typeAliases標籤,定義別名;將cn.itcast.mybatis.po.User 起別名為user;
<!-- 別名定義 -->
<typeAliases>
<!-- 針對單個別名定義 type:型別的路徑 alias:別名 -->
<typeAlias type="cn.itcast.mybatis.po.User" alias="user"/>
</typeAliases>
批量定義別名
mybatis自動掃描包中的po類,自動定義別名,別名是類名(首字母大寫或小寫都可以,一般用小寫)
例如:cn.itcast.mybatis.po.User起別名為User或者user;
<!-- 別名定義 -->
<typeAliases>
<!-- 批量別名定義,指定包名,mybatis自動掃描包中的po類,自動定義別名,別名是類名(首字母大寫或小寫都可以,一般用小寫) -->
<package name="cn.itcast.mybatis.po" />
</typeAliases>
在mapper.xml檔案中
沒有定義別名前
<select id="findUserById" parameterType="int"
resultType="cn.itcast.mybatis.po.User">
select * from USER where id = #{id}
</select>
定義別名後,直接resultType中使用別名user;
<select id="findUserById" parameterType="int"
resultType="user">
select * from USER where id = #{id}
</select>
三.總結:
使用別名就像資料庫中的別名一樣,簡化了我們的操作,可以用簡單的名詞,單詞物件的整個路徑。操作起來更加方便,清晰;