MyBatis 使用类型别名作为返回类型

类型别名就是为Java类型设置一个短的名字。 它只和XML配置有关,存在的意义仅在于用来减少类完全限定名的冗余。也就是说在SQL映射文件中涉及到写返回Java类型的地方,只需要写Java类的别名即可,不需要写Java类的完全限定名称了。

1. 别名配置

1.1. 普通 Spring 项目配置

mybatis-config.xml中进行别名配置。

可以直接指定实体类:

xml 复制代码
<typeAliases>
    <typeAlias alias="Author" type="domain.blog.Author"/>
    <typeAlias alias="Blog" type="domain.blog.Blog"/>
    <typeAlias alias="Comment" type="domain.blog.Comment"/>
    <typeAlias alias="Post" type="domain.blog.Post"/>
    <typeAlias alias="Section" type="domain.blog.Section"/>
    <typeAlias alias="Tag" type="domain.blog.Tag"/>
</typeAliases>

当这样配置时,alias指定的是别名,如果没写该属性,则默认为类名首字母小写。

也可以指定包名:

只指定一个包名,这样MyBatis就会在该包名下面搜索需要的Java Bean

xml 复制代码
<typeAliases>
    <package name="domain.blog"/>
</typeAliases>

当这样配置时,每一个在包domain.blog下的JavaBean,在没有使用@Alias注解的情况下,会默认使用类名首字母小写来作为它的别名。

比如domain.blog.Author的别名为author;若有注解,则别名为其注解值。比如下面的注解表示domain.blog.Author的别名为myAuthor

java 复制代码
@Alias("myAuthor")
public class Author {
    ...
}

1.2. SpringBoot 项目配置

application.properties或者application.yml文件中进行配置。

java 复制代码
mybatis.type-aliases-package=cn.udesk.kun.model

MyBatis扫描指定包下的Java Bean,可以和注解@Alias一起使用。

2. 常见类型别名

这是一些为常见的Java类型内建的相应的类型别名。它们都是不区分大小写的,注意对基本类型名称重复采取的特殊命名风格。这个一般用于parameterTyperesultTypejavaTypeofType属性。

别名 映射的 Java 类型 别名 映射的 Java 类型
_byte byte byte Byte
_long long long Long
_short short short Short
_int int int Integer
_integer int integer Integer
_double double double Double
_float float float Float
_boolean boolean boolean Boolean
string String
date Date
decimal BigDecimal bigdecimal BigDecimal
object Object
map Map hashmap HashMap
list List arraylist ArrayList
collection Collection
iterator Iterator
相关推荐
lay_liu4 小时前
springboot 文件下载
java·spring boot·后端
weixin_425023008 小时前
PG JSONB 对应 Java 字段 + MyBatis-Plus 完整实战
java·开发语言·mybatis
2601_949816169 小时前
spring.profiles.active和spring.profiles.include的使用及区别说明
java·后端·spring
helx8210 小时前
SpringBoot实战(三十二)集成 ofdrw,实现 PDF 和 OFD 的转换、SM2 签署OFD
spring boot·后端·pdf
rOuN STAT11 小时前
Skywalking介绍,Skywalking 9.4 安装,SpringBoot集成Skywalking
spring boot·后端·skywalking
AlunYegeer11 小时前
MyBatis 传参核心:#{ } 与 ${ } 区别详解(避坑+面试重点)
java·mybatis
bilI LESS12 小时前
Spring Boot接收参数的19种方式
java·spring boot·后端
web前端进阶者12 小时前
Rust初学知识点快速记忆
开发语言·后端·rust
七夜zippoe13 小时前
API设计规范:RESTful API设计与OpenAPI(Swagger)完整指南
后端·restful·设计规范
2601_9498177214 小时前
Spring+SpringMVC项目中的容器初始化过程
java·后端·spring