【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);
}
相关推荐
西岸行者4 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码4 天前
嵌入式学习路线
学习
毛小茛4 天前
计算机系统概论——校验码
学习
babe小鑫4 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms4 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下4 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。4 天前
2026.2.25监控学习
学习
im_AMBER4 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J4 天前
从“Hello World“ 开始 C++
c语言·c++·学习