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
相关推荐
北冥you鱼41 分钟前
Go Modules 使用指南:从入门到精通
开发语言·后端·golang
嘟嘟07171 小时前
从零理解 MCP:手写一个本地 MCP Server 并接入 LangChain Agent
前端·后端
沈七1 小时前
Go 补强第三天:给 TaskStore 写单元测试
后端
范闲1 小时前
第二章:Octo v0.1.1:从「能用」到「好用」——终端 AI 聊天体验的全面升级
人工智能·后端
贰先生1 小时前
Xiuno BBS 审计之问题03:附件上传高危风险
后端
Ai拆代码的曹操1 小时前
记一次 K8s Pod Pending 排查:两层坑叠加,从资源到存储的完整复盘
后端
贰先生1 小时前
Xiuno BBS 审计之问题04:Cookie 缺少 HttpOnly/Secure/SameSite 安全属性
后端
贰先生1 小时前
Xiuno BBS 审计之问题06:硬编码 auth_key 加密密钥
后端
贰先生1 小时前
Xiuno BBS 审计之问题02:后台用户搜索可能造成严重性能 DoS
后端
咪饭只吃一小碗1 小时前
告别微调成本!用 RAG 本地向量库解决大模型私有领域数据接入
javascript·后端·面试