【JavaWeb学习】myabtis.xml一次性加载mapper相关的文件

一、运行环境:

JDK1.8 + apache-tomcat-8.5.100

二、相关的jar包:

序号 Jar 包名 版本 作用 国内镜像直链(华为云,2025-10 有效)
1 jackson-annotations 2.17.2 JSON 注解 https://repo.huaweicloud.com/repository/maven/com/fasterxml/jackson/core/jackson-annotations/2.17.2/jackson-annotations-2.17.2.jar
2 jackson-core 2.17.2 JSON 核心 https://repo.huaweicloud.com/repository/maven/com/fasterxml/jackson/core/jackson-core/2.17.2/jackson-core-2.17.2.jar
3 jackson-databind 2.17.2 JSON 绑定 https://repo.huaweicloud.com/repository/maven/com/fasterxml/jackson/core/jackson-databind/2.17.2/jackson-databind-2.17.2.jar
4 javax.servlet-api 4.0.1 Servlet 4.0 API(provided) https://repo.huaweicloud.com/repository/maven/javax/servlet/javax.servlet-api/4.0.1/javax.servlet-api-4.0.1.jar
5 logback-classic 1.4.11 SLF4J 实现 https://repo.huaweicloud.com/repository/maven/ch/qos/logback/logback-classic/1.4.11/logback-classic-1.4.11.jar
6 mybatis 3.5.15 ORM 核心 https://repo.huaweicloud.com/repository/maven/org/mybatis/mybatis/3.5.15/mybatis-3.5.15.jar
7 mysql-connector-j 8.0.33 MySQL JDBC < https://mirrors.tencent.com/nexus/repository/maven-public/com/mysql/mysql-connector-j/8.0.32/mysql-connector-j-8.0.32.jar\>
8 spring-plugin-core 2.0.0.RELEASE SpringFox 基础插件 https://repo.huaweicloud.com/repository/maven/org/springframework/plugin/spring-plugin-core/2.0.0.RELEASE/spring-plugin-core-2.0.0.RELEASE.jar
9 spring-plugin-metadata 2.0.0.RELEASE SpringFox 元数据 https://repo.huaweicloud.com/repository/maven/org/springframework/plugin/spring-plugin-metadata/2.0.0.RELEASE/spring-plugin-metadata-2.0.0.RELEASE.jar
10 springfox-core 2.10.5 注解解析/扫描 https://repo.huaweicloud.com/repository/maven/io/springfox/springfox-core/2.10.5/springfox-core-2.10.5.jar
11 springfox-schema 2.10.5 模型解析 https://repo.huaweicloud.com/repository/maven/io/springfox/springfox-schema/2.10.5/springfox-schema-2.10.5.jar
12 springfox-spi 2.10.5 SPI 扩展 https://repo.huaweicloud.com/repository/maven/io/springfox/springfox-spi/2.10.5/springfox-spi-2.10.5.jar
13 springfox-swagger-ui 2.10.5 原生 swagger-ui(可被 knife4j 覆盖) https://repo.huaweicloud.com/repository/maven/io/springfox/springfox-swagger-ui/2.10.5/springfox-swagger-ui-2.10.5.jar
14 springfox-swagger2 2.10.5 Swagger2 核心实现 https://repo.huaweicloud.com/repository/maven/io/springfox/springfox-swagger2/2.10.5/springfox-swagger2-2.10.5.jar
15 swagger-annotations 1.6.14 Swagger 注解定义 https://repo.huaweicloud.com/repository/maven/io/swagger/swagger-annotations/1.6.14/swagger-annotations-1.6.14.jar
16 swagger-core 1.6.14 Swagger 模型/解析 https://repo.huaweicloud.com/repository/maven/io/swagger/swagger-core/1.6.14/swagger-core-1.6.14.jar
17 swagger-models 1.6.14 Swagger 数据模型 https://repo.huaweicloud.com/repository/maven/io/swagger/swagger-models/1.6.14/swagger-models-1.6.14.jar
18 knife4j-openapi2-servlet 1.6.9 Knife4j 美化 UI(Servlet 环境) https://repo.huaweicloud.com/repository/maven/com/github/xiaoymin/knife4j-openapi2-servlet/1.6.9/knife4j-openapi2-servlet-1.6.9.jar

三、mybatis.xml配置文件

xml 复制代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
        <package name="com.example.crud.model"/>
    </typeAliases>
    <environments default="dev">
        <environment id="dev">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/demo?useSSL=false&serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
	    <mappers>
	        <mapper resource="com/example/crud/dao/UserMapper.xml"/>
	    </mappers>
    </mappers>
</configuration>

四、修改myabtis配置文件:

办法一:

xml 复制代码
    <mappers>
        <!-- 一次性扫描 com.example.crud.dao 下所有接口 + 同名 XML -->
        <package name="com.example.crud.dao"/>
    </mappers>

办法二:文件通符(MyBatis 3.5.1+ 才支持

xml 复制代码
<mappers>
    <!-- 一次性加载 classpath 里所有匹配路径的 XML -->
    <mapper url="classpath*:com/example/crud/dao/*Mapper.xml"/>
</mappers>

办法三:Java 代码批量注册(纯 Servlet 项目可放在 Listener 里)

java 复制代码
String packageName = "com.example.crud.dao";
Configuration cfg = sqlSessionFactory.getConfiguration();
ResolverUtil<Class<?>> resolver = new ResolverUtil<>();
resolver.find(new ResolverUtil.IsA(BaseMapper.class), packageName);
for (Class<?> mapper : resolver.getClasses()) {
    cfg.addMapper(mapper);
}
相关推荐
峥嵘life1 小时前
Android16 更新fastboot版本解决fastbootd模式识别不到设备问题
android·学习
HalvmånEver1 小时前
Linux:基础开发工具(一)
linux·运维·服务器·开发语言·学习·进阶学习
d111111111d1 小时前
STM32外设学习-串口数据包笔记-(数据包的了解)
笔记·stm32·单片机·嵌入式硬件·学习
开开心心_Every4 小时前
专业视频修复软件,简单操作效果好
学习·elasticsearch·pdf·excel·音视频·memcache·1024程序员节
im_AMBER7 小时前
Vite + React 项目启动深度踩坑指南
前端·学习·react.js·前端框架
wdfk_prog7 小时前
[Linux]学习笔记系列 -- [kernel]kthread
linux·笔记·学习
河铃旅鹿11 小时前
Android开发-java版:布局
android·笔记·学习
奋斗的牛马11 小时前
FPGA--zynq学习 PS与PL交互(二) HP接口
单片机·嵌入式硬件·学习·fpga开发·信息与通信
华清远见成都中心12 小时前
分享一个驱动开发工程师学习路线图
驱动开发·学习
im_AMBER12 小时前
React 18
前端·javascript·笔记·学习·react.js·前端框架