Maven聚合工程中的SpringBoot应用整合tkMapper——逆向工程
聚合工程项目结构
各个子工程的依赖关系
mapper依赖beans
service依赖mapper 和 common
api依赖service
1、在beans子工程中引入tkMapper的starter启动器
<!-- tkMapper starter --> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.1.5</version> </dependency>
2、在mapper子工程中导入tkMapper逆向工程插件
<!-- 导入tkMapper逆向工程插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<!-- 加载逆向工程的配置文件 -->
<configuration>
<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
</configuration>
<!-- 添加相关依赖 -->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper</artifactId>
<version>3.4.4</version>
</dependency>
</dependencies>
</plugin>
3、在mapper子工程的类路径src/main/java下新建一个general包,在包内创建一个GeneralDAO接口,并继承 Mapper接口 和 MysqlMapper接口
package com.lzp.fmmall.general; import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.MySqlMapper; public interface GeneralDAO<T> extends Mapper<T>, MySqlMapper<T> {
}
4、在mapper子工程的类路径src/main/resources下新建一个generator包,在包内创建一个逆向工程生成器的配置文件GeneratorConfig.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration> <!-- 引入数据库连接配置 --> <!--<properties resource="jdbc.properties" />--> <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <!--配置GeneralDAO --> <plugin type="tk.mybatis.mapper.generator.MapperPlugin"> <property name="mappers" value="com.lzp.fmmall.general.GeneralDAO"/> </plugin> <!-- 配置数据库连接 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/fmmall?characterEncoding=utf-8" userId="root" password="123"> </jdbcConnection> <!-- 配置实体类存放路径 --> <javaModelGenerator targetPackage="com.lzp.fmmall.entity" targetProject="src/main/java"/> <!-- 配置 XML 存放路径 --> <sqlMapGenerator targetPackage="/" targetProject="src/main/resources/mappers"/> <!-- 配置 DAO 存放路径 --> <javaClientGenerator targetPackage="com.lzp.fmmall.dao" targetProject="src/main/java" type="XMLMAPPER"/> <!--配置置需要指定生成的数据库和表,%代表所有表--> <table tableName="%"> </table> </context> </generatorConfiguration>
5、在mapper子工程的pom文件里面引入GeneratorConfig.xml配置文件
6、打开项目右侧的Maven栏,就可以看到整个工程的依赖管理
7、最后看到我们mapper子工程下自动生成了实体类、Mapper接口以及Mapper映射文件,不过我们要把实体类移动到beans子工程下
到此,我们的逆向工程就构建完成了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能