# MapperGenerator **Repository Path**: a1422749310/mapper-generator ## Basic Information - **Project Name**: MapperGenerator - **Description**: 测试时,可快速调用 Mapper 的 Mapper Generator - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-05-01 - **Last Updated**: 2023-05-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 使用教程:[测试时,可快速调用 Mapper 的 Mapper Generator](https://blog.csdn.net/qq_30763385/article/details/130456408) 解决的问题:SpringBootTest 启动太慢 实现方式:递归读取 xml 文件,解析其内部 namespace,add 到 configuration 中 参考:[不使用 XML 构建 SqlSessionFactory](https://mybatis.org/mybatis-3/zh/getting-started.html#%E4%B8%8D%E4%BD%BF%E7%94%A8-xml-%E6%9E%84%E5%BB%BA-sqlsessionfactory) ## 使用方式 假设有这样一个数据库,名为 a ```sql SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for a -- ---------------------------- DROP TABLE IF EXISTS `a`; CREATE TABLE `a` ( `a` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `b` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `c` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of a -- ---------------------------- INSERT INTO `a` VALUES ('1', '1', '2'); INSERT INTO `a` VALUES ('2', '1', '2'); INSERT INTO `a` VALUES ('3', '1', '3'); INSERT INTO `a` VALUES ('4', '1', '3'); INSERT INTO `a` VALUES ('5', '1', '4'); INSERT INTO `a` VALUES ('6', '1', '5'); SET FOREIGN_KEY_CHECKS = 1; ``` 使用如下 ```java @Test public void test_mapper_find_all() { // 获取 Mapper AMapper mapper = MapperGenerator.getMapper(AMapper.class); // 执行内容 List all = mapper.findAll(); // 输出结果 all.forEach(System.out::println); } ``` 项目结构如下,使用前,需修改 GeneratorConstants 下的配置信息