::sorghum-ddl-solon-plugin
<dependency>
<groupId>site.sorghum.ddl</groupId>
<artifactId>sorghum-ddl-solon-plugin</artifactId>
<version>2025.04.17-SNAPSHOT</version>
</dependency>
<!--具体ORM框架-->
<dependency>
<groupId>site.sorghum.ddl</groupId>
<artifactId>sorghum-ddl-[ORM框架]</artifactId>
<version>2025.04.17-SNAPSHOT</version>
</dependency>
最新开发进度/版本查看 sorghum-ddl
1、描述
高粱DDL插件,根据 Java 实体,自动映射成数据库的表结构。 支持:版本对比/自动维护等功能.
数据库:Mysql/PgSql
自动化生成数据库建表语句(DDL) 的智能工具。 支持多种主流数据库语法,旨在提升开发者在数据库设计阶段的效率,避免手动编写SQL的繁琐和错误。
2、数据库支持
测试会有遗漏!求大佬们轻拍测试,喜欢请⭐Star⭐
部分测试版本
数据库 | 测试版本 | 说明 |
---|---|---|
✅ MariaDB | 8.3 | 协议使用MySQL,即jdbc:mysql:// |
✅ Mysql | 应该差不多 | |
✅ PostgreSQL | 17.4 | |
其他数据库 | 未测试 | 有需欢迎说 |
3、快速上手
第 1 步:添加Maven依赖 如果是快照版本,请添加快照仓库
<!--引入快照库-->
<repositories>
<repository>
<id>apache_snapshot</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>
<!--依赖引入-->
<!--依赖引入-->
<!--sorghum-ddl-mybatis-->
<!--sorghum-ddl-mybatis-flex-->
<!--sorghum-ddl-mybatis-plus-->
<!--sorghum-ddl-wood-->
<dependencies>
<dependency>
<groupId>site.sorghum.ddl</groupId>
<artifactId>sorghum-ddl-[ORM框架]</artifactId>
<version>2025.04.17-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>site.sorghum.ddl</groupId>
<artifactId>sorghum-ddl-solon-plugin</artifactId>
<version>2025.04.17-SNAPSHOT</version>
</dependency>
</dependencies>
第 2 步:配置文件
solon.dataSources:
"db1!":
class: "com.zaxxer.hikari.HikariDataSource"
jdbcUrl: jdbc:mysql://127.0.0.1:3306/xxxxxx?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=true
driverClassName: com.mysql.cj.jdbc.Driver
username: xxxxxx
password: xxxxxx
schema: xxxxxx
sorghum-ddl:
# 配置实体类扫描的包
basePackages:
- site.sorghum.ddl.solon.entity
# 开启自动建表
createTable: true
# 开启自动添加字段
addColumn: true
# 开启自动添加索引
addIndex: true
# 开启自动删除字段
dropColumn: true
# 开启自动删除索引
dropIndex: true
第 3 步:启动应用
@SolonMain
public class DemoSorghumDdlApplication {
public static void main(String[] args) {
Solon.start(Application.class, args);
}
}
第 5 步:重启项目
查看控制台信息与数据库表和字段是否生成
注解支持
@DdlAlias
- 类注解: 用于指定实体类的别名,在生成DDL时,将使用指定的别名作为表名。
- 字段注解:用于指定实体类字段的别名,在生成DDL时,将使用指定的别名作为字段名。
@DdlExclude
- 类注解: 用于排除实体类是否跳过生成DDL。
- 字段注解:用于排除实体类字段是否跳过生成DDL。
@DdlId
- 字段注解:用于指定实体类字段为主键,在生成DDL时,将使用指定的主键作为主键。
- 支持联合ID
-
@DdlType
- 字段注解:用于指定实体类字段的数据类型,在生成DDL时,将使用指定的数据类型作为字段类型。
- 支持自定义类型:value
- 支持长度 精度 是否可谓空
@DdlIndex
- 字段注解:用于指定实体类字段是否需要创建索引,在生成DDL时,将使用指定的索引作为索引。
- 支持联合索引,按照group区分是否为同一条索引.
- 支持唯一索引:unique=true
@DdlWeight
- 字段注解:用于指定实体类字段的权重,在生成DDL时,将使用指定的权重作为字段权重。
- 用于建表排序,权重越高排越前。
除此之外
- 支持mybatis-plus、mybatis-flex、wood等注解。