详解MyBatis配置typeAliases的方法
0x00:前言参考
之前的《MyBatis中SqlMapConfig配置文件详解》记了一下MyBatis中的核心配置文件各个标签的作用和使用场景,这篇文章细说一下配置文件中typeAliases标签的详细使用。
0x01:标签介绍
在MyBatis的sql映射配置文件中,需要使用paramterType、resultType来设置sql语句的输入输出参数,一般参数都是基本的数据类型或封装类型,但都需要声明该类型的全路径,java.lang.String,或者cn.com.mybatis.pojo.User,这时就可以通过typeAliases别名来设置,简化复杂度
0x02:代码示例
例如之前介绍的模糊查询示例,当不使用别名,而使用全路径时,配置示例代码如下:
SELECT*FROMUSERWHEREusernameLIKE'%${value}%'
当通过设置MyBatis的全局配置文件SqlMapConfig中的typeAliases属性后,就可以为sql映射文件中的输入/输出参数设置类型别名,然后在sql映射配置文件中指定输入输出参数类型时使用的别名。首先,SqlMapConfig配置文件示例如下:
这样就可以在sql映射配置文件中使用别名来指定输入/输出参数的类型了,其示例代码如下:
SELECT*FROMUSERWHEREusernameLIKE'%${value}%'
0x03:别名拓展
像刚才的JavaBean,User是放在cn.com.mybatis.pojo包里的,包里可能也会存在其他多个JavaBean,这时候一个一个配置别名就会很麻烦,这时候就需要批量定义别名,批量指定很简单,只要指定包名即可,之后程序会为包下的所有类都自动加上别名,其定义别名的规范就是对应包装类的类名首字母变为小写,其示例代码如下:
这时设置的包名下的类就都有了别名,别名就是类名(首字母小写),像刚才的User类,其别名就为user。
除了在配置文件中单独的配置别名和批量的配置别名两种方式外,还有一种方式,就是通过注解的方式来配置别名,方法也很简单,在需要配置别名的类前通过@Alias注解即可,参数就是别名名称,例如以下示例代码:
@Alias("user") publicclassUser{ //其他代码 }
0x04:常见类型别名汇总
MyBatis已经为Java常见类型默认指定了别名,可以直接使用。因为有一些基本数据类型和包装类型的名称一样(例如基本数据类型byte和包装类型java.lang.Byte),所以在基本的数据类型前面加了下划线“_”来以此区分(byte别名就是_byte,java.lang.Byte别名就是byte)。常见的类型对应别名如下:
0x05:总结
在开发中,经常使用别名,可以提高开发效率,简化配置。
到此这篇关于详解MyBatis配置typeAliases的方法的文章就介绍到这了,更多相关MyBatis配置typeAliases内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!