美文网首页
使用typeAliases配置别名

使用typeAliases配置别名

作者: 问瑾遗 | 来源:发表于2019-04-06 19:22 被阅读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配置文件时就会出现异常信息。

    相关文章

      网友评论

          本文标题:使用typeAliases配置别名

          本文链接:https://www.haomeiwen.com/subject/oifdiqtx.html