使用typeAliases配置别名

2019-04-06  本文已影响0人  问瑾遗

一.使用typeAlias单独配置别名

在执行select查询或insert添加的SQL语句时,都要在parameterType或resultType属性中写上完整的实体类路径,路径中需要包含完整的包名,示例代码如下:

<insert id="insert" parameterType="bean.Userinfo" useGeneratedKeys="true" keyProperty="id">

如果包名嵌套层级较多,则会出现大量冗余的配置代码,这时可以在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">

注意: 在引用别名时是不区分大小写的,比如如下代码也能正确得到运行。

parameterType="USERinfo"
resultType="USERINFo"

二.使用package批量配置别名

使用<typeAliases>虽然可以实现配置别名,但如果实体类的数量较多,则极易出现<typeAlias>配置爆炸,这种情况可以使用<package>标签来解决,它的原理就是扫描指定包下的类,这些类都被自动赋予了与类同名的别名,不区分大小写,别名中不包含包名。示例代码如下:

<configuration>
    <typeAliases>
        <package name="包名"/>
    </typeAliases>
</configuration>

在SQL映射文件中的使用同上一步。

注意: 如果在不同的包中出现相同实体类名的情况,在MyBatis解析XML配置文件时就会出现异常信息。

上一篇下一篇

猜你喜欢

热点阅读