先来官网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取别名的时候,使用指定包下取别名就无效了。