注:本文转载自南轲梦
上篇文章《深入浅出Mybatis系列(三)—配置详解之properties与environments(mybatis源码篇)》 介绍了properties与environments, 本篇继续讲剩下的配置节点之一:typeAliases。 typeAliases节点主要用来设置别名,其实这是挺好用的一个功能, 通过配置别名,我们不用再指定完整的包名,并且还能取别名。
例如: 我们在使用 com.demo.entity. UserEntity 的时候,我们可以直接配置一个别名user, 这样以后在配置文件中要使用到com.demo.entity. UserEntity的时候,直接使用User即可。
就以上例为例,我们来实现一下,看看typeAliases的配置方法:
typeAliases配置
1 | <configuration> |
再写一段测试代码,看看有没生效:(我只写一段伪代码)1
2
3
4
5
6Configuration con = sqlSessionFactory.getConfiguration();
Map<String, Class<?>> typeMap = con.getTypeAliasRegistry().getTypeAliases();
for(Entry<String, Class<?>> entry: typeMap.entrySet()) {
System.out.println(entry.getKey() + " ================> "
+ entry.getValue().getSimpleName());
}
上面给大家简单介绍了typeAliases的用法, 接下来就看看Mybatis中的源码了。
老规矩,先从对xml的解析讲起:
typeAliases源码
1 | /** |
重要的源码在这儿!
TypeAliasRegistry源码
1 | public class TypeAliasRegistry { |
由源码可见,设置别名的原理就这么简单,Mybatis默认给我们设置了不少别名,在上面代码中都可以见到。
好啦,本篇内容就是这么简单,到此为止。 下篇将继续讲解还没讲完的配置节点。