如何设置MyBatis配置文件mybatis-config.xml中的typeAliasesPackage包扫描?

2026-04-29 13:091阅读0评论SEO资源
  • 内容介绍
  • 相关推荐

本文共计951个文字,预计阅读时间需要4分钟。

如何设置MyBatis配置文件mybatis-config.xml中的typeAliasesPackage包扫描?

MyBatis中的`typeAliasesPackage`配置不是魔法般生效的,它依赖于类路径扫描来识别和加载相应的类。具体来说,它依赖于类加载器和类路径扫描器来找到指定包路径下的所有类。

常见现象是配置了`com.example.model`,但MyBatis没有找到对应的类。这可能是因为:

原因通常是:

  • 实际 class 文件没被编译到 target/classes 对应路径下(比如 IDE 没自动编译,或 Maven 编译跳过)
  • 包名拼写错误,尤其大小写敏感(modelModel
  • 该包在多个 module 中存在,但 MyBatis 加载的是另一个 classloader 下的副本
  • Spring Boot 场景下,若用 @MapperScan + 自动配置,mybatis-config.xml 中的 typeAliasesPackage 可能被忽略(Spring Boot 默认不读这个文件)

Spring Boot 中 typeAliasesPackage 失效?优先用 @MapperScan 或 mybatis.type-aliases-package

Spring Boot 整合 MyBatis 时,mybatis-config.xml 默认不被加载——除非你显式配置了 SqlSessionFactoryBean.configLocation

阅读全文

本文共计951个文字,预计阅读时间需要4分钟。

如何设置MyBatis配置文件mybatis-config.xml中的typeAliasesPackage包扫描?

MyBatis中的`typeAliasesPackage`配置不是魔法般生效的,它依赖于类路径扫描来识别和加载相应的类。具体来说,它依赖于类加载器和类路径扫描器来找到指定包路径下的所有类。

常见现象是配置了`com.example.model`,但MyBatis没有找到对应的类。这可能是因为:

原因通常是:

  • 实际 class 文件没被编译到 target/classes 对应路径下(比如 IDE 没自动编译,或 Maven 编译跳过)
  • 包名拼写错误,尤其大小写敏感(modelModel
  • 该包在多个 module 中存在,但 MyBatis 加载的是另一个 classloader 下的副本
  • Spring Boot 场景下,若用 @MapperScan + 自动配置,mybatis-config.xml 中的 typeAliasesPackage 可能被忽略(Spring Boot 默认不读这个文件)

Spring Boot 中 typeAliasesPackage 失效?优先用 @MapperScan 或 mybatis.type-aliases-package

Spring Boot 整合 MyBatis 时,mybatis-config.xml 默认不被加载——除非你显式配置了 SqlSessionFactoryBean.configLocation

阅读全文