Mybatis的类型别名(typeAliases)

不使用别名 

使用别名,别名不区分大小写

第1种:配置指定类的别名

第2种:指定包下取别名

第3种:注解取别名


先来官网Mybatis官网

不使用别名 

在Mybatis中,sql的配置文件中,不使用别名的时候,映射需要所要映射类的全限定类名路径,如

这样,如果sql比较多的时候,每次都要写全限定类名,显得很不方便,于是我们就有了使用 类型别名(typeAliases)

使用别名,别名不区分大小写

Mybatis中,类型可以取别名,这样sql映射的时候可以使用别名,而不再需要些全限定类名路径,直接使用别名即可。

先看官方文档

我们就知道取别名的方式有3种

第1种:配置指定类的别名

我们在核心配置文件中给指定的类使用别名

我们的别名是dept1,再看响应的sql映射文件,映射的时候,我使用了别Dept,就会报红,因为我们根本就没有别名Dept

 

我们使用DPt1,就正常了,因为别名不区分大小写,程序也能正常运行

第2种:指定包下取别名

如果类比较多的时候,我们也可以指定包下的类取别名,这样就不需要为每个类取别名了,指定包方式的别名默认为类名

这里我们指定了pojo包下的类取别名

所以sql大的映射文件提示了2个别名,取任何一个都可以

第3种:注解取别名

使用注解@Alias(别名)在类名上,为类名取别名

我在Dept类上使用注解@Alias,为这个类取了一个别名myDept

我们使用核心配置文件里的别名试一下

先使用配置指定类的别名dept1 

映射成功 

再使用指定包下取别名dept,报错了,找不到这个别名

再使用注解取的别名myDept,映射成功

也说是说,使用注解@Alias取别名的时候,使用指定包下取别名就无效了。

猜你喜欢

转载自blog.csdn.net/lgl782519197/article/details/109066243