Maven 项目中集成数据库文档生成工具

在 Maven 项目中,可以通过集成 数据库文档生成工具 (如 screw-maven-pluginmybatis-generatorliquibase)来自动生成数据库文档。以下是使用 screw-maven-plugin(推荐)的完整配置步骤:


1. 添加插件配置到 pom.xml

将以下配置添加到 <build><plugins> 部分:

xml 复制代码
<build>
    <plugins>
        <!-- 数据库文档生成插件 -->
        <plugin>
            <groupId>cn.smallbun.screw</groupId>
            <artifactId>screw-maven-plugin</artifactId>
            <version>1.0.5</version>
            <dependencies>
                <!-- 数据库驱动(以MySQL为例) -->
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>8.0.32</version>
                </dependency>
                <!-- HikariCP连接池 -->
                <dependency>
                    <groupId>com.zaxxer</groupId>
                    <artifactId>HikariCP</artifactId>
                    <version>3.4.5</version>
                </dependency>
            </dependencies>
            <configuration>
                <!-- 数据库连接配置 -->
                <username>${db.username}</username>
                <password>${db.password}</password>
                <jdbcUrl>jdbc:mysql://${db.host}:${db.port}/${db.name}?serverTimezone=Asia/Shanghai&amp;characterEncoding=utf8&amp;useSSL=false</jdbcUrl>
                <driverClassName>com.mysql.cj.jdbc.Driver</driverClassName>

                <!-- 文档生成配置 -->
                <fileType>HTML</fileType>  <!-- 可选:HTML | WORD | MD -->
                <fileName>数据库文档</fileName>
                <title>项目数据库设计</title>
                <description>自动生成的数据库文档</description>
                <version>${project.version}</version>
                <openOutputDir>true</openOutputDir>  <!-- 生成后是否打开目录 -->
                
                <!-- 忽略表(可选) -->
                <ignoreTablePrefix>temp_,test_</ignoreTablePrefix>
            </configuration>
            <executions>
                <execution>
                    <phase>compile</phase>  <!-- 绑定到编译阶段 -->
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

2. 配置数据库信息

pom.xmlsettings.xml 中定义数据库变量(避免明文密码):

方式一:在 pom.xml<properties> 中配置
xml 复制代码
<properties>
    <db.host>localhost</db.host>
    <db.port>3306</db.port>
    <db.name>your_database</db.name>
    <db.username>root</db.username>
    <db.password>123456</db.password>
</properties>
方式二:在 settings.xml 中配置(更安全)
xml 复制代码
<settings>
    <profiles>
        <profile>
            <id>db-config</id>
            <properties>
                <db.password>ENC(加密后的密码)</db.password>
            </properties>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>db-config</activeProfile>
    </activeProfiles>
</settings>

3. 执行生成命令

运行以下 Maven 命令生成文档:

bash 复制代码
mvn compile  # 插件绑定到compile阶段,会自动触发
# 或单独执行插件
mvn screw:run

生成的文档默认输出到:
target/doc/数据库文档.{html|md|docx}



5. 高级配置选项

参数 说明
fileType 输出格式:HTML(默认)、WORDMD
ignoreTablePrefix 忽略表前缀(如 test_
produceType 模板引擎:freemarker(默认)或 velocity
design 自定义描述信息(支持HTML标签)

6. 注意事项

  1. 数据库兼容性
    • 支持 MySQL/Oracle/PostgreSQL/SQL Server 等主流数据库(需正确配置驱动)。
  2. 密码安全
    • 生产环境建议使用 Maven 密码加密(官方指南)。
  3. 多模块项目
    • 在父 POM 中配置插件,子模块通过 <inherited>true</inherited> 继承。

替代方案对比

工具 优点 缺点
screw-maven-plugin 轻量、支持多格式、中文友好 仅生成文档,无数据库变更管理
mybatis-generator 可生成代码+文档 配置复杂,文档功能较弱
liquibase 支持数据库版本管理 文档生成需额外插件

推荐选择 screw-maven-plugin 快速生成简洁的数据库文档!

相关推荐
未济1 天前
linux 配置环境变量
linux
傲世仙尊1 天前
目录即文件-Ext文件系统收尾篇
linux·c语言
虎头金猫1 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
_艾伦 耶格尔.2 天前
进程间通信
linux
AI职业加油站2 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
Liuqy-052 天前
Linux IO编程——静态库、动态库
linux
此冬歌咏2 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
彧azz2 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
-梅2 天前
linux(8) 软硬链接
linux·运维·服务器
AIgorithmGEEK2 天前
[Linux]线程三部曲(上):一个执行流的诞生——从操作系统一路拆到 pthread_create
linux·线程·pid