MyBatis教程大全


 MyBatis SQL 映射

     MyBatis select 标签

     MyBatis 多数据库支持

     MyBatis selectKey 标签作用

     MyBatis @SelectKey注解用法介绍

     MyBatis @SelectKey注解用法详细介绍

     MyBatis keyProperty 属性介绍

     MyBatis insert、update 和 delete 元素

     MyBatis sql 元素

 MyBatis SQL 参数映射

     MyBatis SQL 参数映射

 MyBatis 动态SQL

     MyBatis 动态SQL与数据准备

     MyBatis if 标签

     MyBatis if else 用法

     MyBatis choose、when、otherwise 标签

     MyBatis where 标签

     MyBatis set 标签

     MyBatis foreach 标签

     MyBatis bind 标签

     MyBatis trim 标签

 MyBatis SQL 结果映射

 MyBatis SQL 结果之关系映射

 MyBatis 使用介绍

     MyBatis typeAliases 类型别名

     MyBatis typeHandlers 类型处理器

     MyBatis Transaction 事务接口

     MyBatis transactionManager 事务管理

     SqlSessionFactory 介绍

     MyBatis 核心对象 SqlSession

     MyBatis 初始化 创建 Session 实例

     MyBatis ObjectFactory 对象工厂

     MyBatis缓存机制:一级缓存和二级缓存

     MyBatis 常用注解

 MyBatis 配置文件

     MyBatis 配置文件

 MyBatis 映射

     MyBatis 映射简介

     MyBatis ResultMap 映射

     MyBatis 自动映射

     MyBatis 高级映射

     MyBatis 集合映射

     MyBatis 关联映射

     MyBatis 一对一关联映射

     MyBatis 一对多关联映射

     MyBatis 多对多关联映射

     MyBatis 一对一(注解形式)

     MyBatis 一对多(注解形式)

     MyBatis 多对多(注解形式)

     MyBatis resultMap 元素

 MyBatis 面试题库

     #{}和${}的区别是什么?

     数据库链接中断如何处理?

     数据库插入重复如何处理?

     事务执行过程中宕机的应对处理方式

     Java客户端中的一个Connection问题

MyBatis typeAliases 类型别名

说明:本文修订于2022年6月9日

1、MyBatis typeAliases 类型别名的作用

typeAliases,顾名思义,就是类别名的意思。类别名是Java类更短的名称,其存在的意义在于减少不必要的全限定类名。

备注:全限定类名就是类名全称,带包路径的用点隔开,例如: java.lang.String。非限定类名也叫短名,就是我们平时说的类名,不带包的,例如:String。

2、MyBatis typeAliases 类型别名的使用介绍

2.1、为Java类型设置一个别名(短的名字)

类型别名是为Java类型设置的一个短的名字。它只和XML配置有关,存在的意义仅在于用来减少类完全限定名的冗余,如下所示:

<typeAliases>
<typeAlias alias="user" type="cn.mybatis.domain.User"/>
</typeAliases>

当这样配置时,user可以用在任何使用cn.mybatis.domain.User的地方。但是,我们发现,如果类很多,每个类都这样配置一项显然很繁琐,所以下面给出了另外一个解决方案。

2.2、指定特定包里面的类的别名

<typeAliases>
<package name="cn.mybatis.domain"/>
</typeAliases>

每一个在包cn.mybatis.domain中的Java Bean,在没有注解的情况下,会使用Bean的首字母小写的非限定类名来作为它的别名。比如cn.mybatis.domain.User的别名为user。若有注解,则别名为其注解值。

@Alias ("myuser")
public class User {
...
}

我们可以指定一个包,让mybatis去扫描它,以cn.mybatis.domain这个包举例,mybatis扫描它时做了以下事情:这个包下的所有bean如果没有@Alias注解,mybatis会自动以这个类的首字母小写作为名称为它注册,也就是说cn.mybatis.domain.Useruser注册,如果类上面有@Alias注解,就以这个注解的值myuser作为bean的名称。

2.3、MyBatis 内置别名

MyBatis已经为许多常见的Java类型内建了相应的类型别名(见下表)。它们都是大小写不敏感的。

别名 映射的类型
_byte byte
_long long
_short short
_int int
_integer int
_double double
_float float
_boolean boolean
string String
byte Byte
long Long
short Short
int Integer
integer Integer
double Double
float Float
boolean Boolean
date Date
decimal BigDecimal
bigdecimal BigDecimal
object Object
map Map
hashmap HashMap
list List
arraylist ArrayList
collection Collection
iterator Iterator