在具體的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>
三.總結:
使用別名就像數據庫中的別名一樣,簡化了我們的操作,可以用簡單的名詞,單詞對象的整個路徑。操作起來更加方便,清晰;
引用:http://blog.csdn.net/fxq8866/article/details/52635153?foxhandler=RssReadRenderProcessHandler
