mybatis的typeAliases别名

栏目: IT技术 · 发布时间: 5年前

内容简介:typeAliases是MyBatis中的别名处理器类,翻译过来就是修改mybatis-config.xml核心配置文件

一、前言

typeAliases是MyBatis中的别名处理器类,翻译过来就是 别名 的意思。别名处理器的作用就是把 Java 类型,给它起一个简单一点的别名,这样我们在XML文件中引入全类名的地方就可以使用别名替代。这样可以减少很多的工作量,节约开发时间。例如下面我们使用的是全类名:

<select id="findByName" parameterType="string" resultType="com.aaa.entity.User">
        select * from user where name like #{name}
</select>

二、案例

修改mybatis-config.xml核心配置文件

<typeAliases>
        <!--typeAlias:某个java类型的全限定名;type:类名;alias:别名;如果类比较多,需要写很多个?怎么办?-->
        <typeAlias type="com.aaa.entity.User" alias="user"></typeAlias>
</typeAliases>

mybatis的typeAliases别名

上面的案例我们可以看到在typeAliases标签下面,可以为User类起一个别名,那么如果有很多的Java类呢,那不是下面有很多很多的<typeAlias></typeAlias>,我们是否能通过一种其他的配置实现为某一个包下面所有的类都起别名,而不用为单独的某一个类。答案是肯定的。

MyBatis为我们提供了一个package标签,可以通过这个标签实现上面的功能配置。下面我们来看看如何使用package标签:

<typeAliases>
        <!--package,默认别名是user-->
        <package name="com.aaa.entity"></package>
    </typeAliases>

通过如上配置可以实现批量起别名

虽然我们可以使用package批量起别名,但是有一种情况会导致冲突,我们来模拟一下,新建一个User类,这个User类在com.queen.mybatis.bean.child目录下面,也就是bean的子包目录下面,如图:

mybatis的typeAliases别名

这是别名冲突了。。。那我们现在又要如何解决这个问题呢?其实您能想到的,MyBatis都为我们想到了

A、使用@Alias注解为某个类型指定新的别名

B、修改User类文件

mybatis的typeAliases别名

修改IUserDao.xml配置文件

mybatis的typeAliases别名

通过上述测试我们可以得出结论:批量起别名的情况下,使用@Alias注解为某个类型指定新的别名,避免出现别名冲突报错


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Algorithms on Strings, Trees and Sequences

Algorithms on Strings, Trees and Sequences

Dan Gusfield / Cambridge University Press / 1997-5-28 / USD 99.99

String algorithms are a traditional area of study in computer science. In recent years their importance has grown dramatically with the huge increase of electronically stored text and of molecular seq......一起来看看 《Algorithms on Strings, Trees and Sequences》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具