Mybatis 全域性配置檔案中typeAliases(別名)

00潤物無聲00發表於2016-09-25

  在具體的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>

三.總結:

  使用別名就像資料庫中的別名一樣,簡化了我們的操作,可以用簡單的名詞,單詞物件的整個路徑。操作起來更加方便,清晰;



相關文章