typeAliases详解:
类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余;(也就是为类型设置简称)
实例:
通过包名称加上简称调用代替;
注解表示:
// 为类型注解简称 @Alias("author") public class Author { ... }
Mybatis 也为常见的Java类型内建了类型别名:
TypeHandlers:
无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获
取的值以合适的方式转换成 Java 类型。
你也可以重写类型处理器或者编辑自己需要的类型处理器:
具体做法为:实现
org.apache.ibatis.type.TypeHandler 接口, 或继承一个很便利的类 org.apache.ibatis.type.BaseTypeHandler , 然后可以选择性
地将它映射到一个 JDBC 类型。
通过类型处理器的泛型,MyBatis 可以得知该类型处理器处理的 Java 类型,不过这种行为可以通过两种方法改变:
在类型处理器的配置元素(typeHandler element)上增加一个 javaType 属性(比如: javaType="String" );
在类型处理器的类上(TypeHandler class)增加一个 @MappedTypes 注解来指定与其关联的 Java 类型列表。 如果在
javaType 属性中也同时指定,则注解方式将被忽略。
可以通过两种方式来指定被关联的 JDBC 类型:
在类型处理器的配置元素上增加一个 javaType 属性(比如: javaType="VARCHAR" );
在类型处理器的类上(TypeHandler class)增加一个 @MappedJdbcTypes 注解来指定与其关联的 JDBC 类型列表。 如果在
javaType 属性中也同时指定,则注解方式将被忽略。