MyBatis“别名扫描”功能

type-aliases-package 是 MyBatis 的一个"别名扫描"功能,作用一句话就能说完:

让你在 XML 映射文件里写类名时,可以省略全限定名(包名),只写简单类名。


✅ 举个例子(没有配置时)

假设你有这个实体类:

java 复制代码
package com.sky.entity;

public class Employee {
    private Long id;
    private String userName;
}

你在 EmployeeMapper.xml 里写 SQL 时,必须写全类名

xml 复制代码
<select id="getById" resultType="com.sky.entity.Employee">
    SELECT * FROM employee WHERE id = #{id}
</select>

✅ 配置了 type-aliases-package: com.sky.entity

MyBatis 会在 项目启动时 自动扫描 com.sky.entity 包下的所有类,并把它们注册成"别名"------别名就是类名本身(首字母不区分大小写)。

于是 XML 里就可以简写成:

xml 复制代码
<select id="getById" resultType="Employee">
    SELECT * FROM employee WHERE id = #{id}
</select>

✅ 效果:省掉包名,写起来更短,可读性更好。


⚠️ 注意事项

  1. 只能扫描指定包及其子包
  2. 类名必须唯一(不同包下不能有同名类,否则别名冲突);
  3. 如果你用了注解 @Alias("Emp") 显式指定别名,MyBatis 会优先使用注解里的值。

✅ 一句话总结

type-aliases-package: com.sky.entity 就是告诉 MyBatis:

"以后在 XML 里写 resultTypeparameterType 时,直接写类名就行,不用带包名。"

相关推荐
怒放吧德德5 分钟前
后端 Mock 实战:Spring Boot 3 实现入站 & 出站接口模拟
java·后端·设计
biyezuopinvip17 分钟前
基于Spring Boot的企业网盘的设计与实现(任务书)
java·spring boot·后端·vue·ssm·任务书·企业网盘的设计与实现
脸大是真的好~20 分钟前
EasyExcel的使用
java·excel
小宋102123 分钟前
Java 项目结构 vs Python 项目结构:如何快速搭一个可跑项目
java·开发语言·python
JavaGuide44 分钟前
一款悄然崛起的国产规则引擎,让业务编排效率提升 10 倍!
java·spring boot
吃虫子的人1 小时前
记录使用Arthas修改线上源码重新加载的一次过程
java·arthas
figo10tf1 小时前
Spring Boot项目集成Redisson 原始依赖与 Spring Boot Starter 的流程
java·spring boot·后端
zhangyi_viva1 小时前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
橙露1 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot