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 时,直接写类名就行,不用带包名。"

相关推荐
SimonKing33 分钟前
TeamViewer、向日葵平替?这几款免费远程控制软件,真香!
java·后端·程序员
Json____42 分钟前
最近我用springBoot开发了一个二手交易管理系统,分享一下实现方式~
java·spring boot·后端
YuanlongWang42 分钟前
C#基础——GC(垃圾回收)的工作流程与优化策略
java·jvm·c#
爱吃生蚝的于勒42 分钟前
【Linux】深入理解进程(一)
java·linux·运维·服务器·数据结构·c++·蓝桥杯
毅炼44 分钟前
常见排序算法
java·算法·排序算法
自由会客室1 小时前
在 Ubuntu24.04 上安装 JDK 21(Java 21)
java·开发语言
喜欢读源码的小白1 小时前
SpringBoot的启动流程原理——小白的魔法引擎探秘
java·开发语言·spring boot·springboot启动原理
白露与泡影1 小时前
BAT 大厂 java高频面试题汇总:JVM+Spring+ 分布式 +tomcat+MyBatis
java·jvm·spring
Han.miracle1 小时前
数据结构——排序的学习(一)
java·数据结构·学习·算法·排序算法
摇滚侠1 小时前
Spring Boot 3零基础教程,WEB 开发 通过配置类代码方式修改静态资源配置 笔记32
java·spring boot·笔记