一.使用typeAlias單獨配置別名
在執(zhí)行select查詢或insert添加的SQL語句時,都要在parameterType或resultType屬性中寫上完整的實體類路徑,路徑中需要包含完整的包名,示例代碼如下:
<insert id="insert" parameterType="bean.Userinfo" useGeneratedKeys="true" keyProperty="id">
如果包名嵌套層級較多,則會出現(xiàn)大量冗余的配置代碼,這時可以在mybatis-config.xml配置文件中使用<typeAliases>標簽來簡化。示例如下:
<configuration>
<typeAliases>
<!--type屬性:完整的實體類 包路徑;
alias屬性:實體類別名-->
<typeAlias alias="userinfo" type="sqlmapping.Userinfo"/>
</typeAliases>
</configuration>
這個別名可以在SQL映射文件中進行使用,示例代碼如下:
<insert id="insert" parameterType="userinfo" useGeneratedKeys="true" keyProperty="id">
注意: 在引用別名時是不區(qū)分大小寫的,比如如下代碼也能正確得到運行。
parameterType="USERinfo"
resultType="USERINFo"
二.使用package批量配置別名
使用<typeAliases>雖然可以實現(xiàn)配置別名,但如果實體類的數(shù)量較多,則極易出現(xiàn)<typeAlias>配置爆炸,這種情況可以使用<package>標簽來解決,它的原理就是掃描指定包下的類,這些類都被自動賦予了與類同名的別名,不區(qū)分大小寫,別名中不包含包名。示例代碼如下:
<configuration>
<typeAliases>
<package name="包名"/>
</typeAliases>
</configuration>
在SQL映射文件中的使用同上一步。
注意: 如果在不同的包中出現(xiàn)相同實體類名的情況,在MyBatis解析XML配置文件時就會出現(xiàn)異常信息。