mybatis-table-modify 1.5.1-beta3,自动生成和变更表结构组件更新
项目介绍
本项目 Fork 自 A.C.Table,之前在其他项目中用到了 A.C.Table, 并对功能进行了改造。因为该 A.C.Table 项目近期发生了停更,所以打算把这些功能给开源出来,同时继续将这个项目完善下去。
项目地址:https://gitee.com/bootx/mybatis-table-modify,非常欢迎看看项目介绍留以及个Star呀🤺🤺🤺
更新说明
- fix: 获取MySqlFieldType 错
- fix: 打包时未把mapper 导入jar 中
功能说明
- 支持自动创建和更新数据库表结构
- 支持指定表的名称、字符集、引擎类型、注释等信息
- 支持指定表字段的类型、排序、非空、自增、默认值、长度等信息
- 支持配置索引,包括指定字段、类型、注释等
- 支持多种更新模式:创建和更新表、只创建不更新、删除后重新创建、不进行任何操作
路线图
- 1.5.1 主要目标:调整项目结构,去除除表维护相关的其他功能,代码暂时只适配 Spring Boot 项目
- 1.5.2 主要目标:拆分为 Maven 多模块项目,支持非 Spring Boot 的项目接入
- 1.5.x 目标:
- 支持 SQL Server 数据库的表维护
- 支持 Oracle 数据库的表维护
- 支持达梦数据库的表维护
- 提供接入其他类型数据库的插件机制
- 1.6.x 目标:
- 支持非 Spring 中间件的项目接入
- 支持多数据源中间件
使用说明
添加 pom 依赖
<dependency> <groupId>cn.bootxe</groupId> <artifactId>mybatis-table-modify</artifactId> <version>${latest.version}</version> </dependency>
配置要建表的路径
无论是使用 MyBatis 还是 MyBatis Plus,需要保证项目中的
mapper
被扫描到,否则会报错无法启动,项目中mapper
文件所在的路径为classpath*:cn/bootx/mybatis/table/modify/impl/*/mapper/*TableModifyMapper.xml
mybatis-table: # 数据库类型 database-type: mysql # 更新类型 update-type: create # 扫描包路径, 可以用 ,和 ; 分隔 scan-package: cn.bootx.**.entity
核心注解
不同的数据库各自会有一些专属的注解,通常适用于对应类型数据库专有的配置,如 MySQL 专有的
MySqlEngine(存储引擎)
、MySqlFieldType(字段类型)
等
@DbTable
表注释,标注在要进行建表的实体类上
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
name | String | "" | 表名,未配置时会读取 TableName 中的配置 |
value | String | "" | 表名,未配置时会读取 TableName 中的配置 |
comment | String | "" | 表注释 |
charset | MySqlCharset | "" | 数据库默认字符集 |
isSimple | boolean | true | 是否开启 simple 模式配置,开启后字段不写注解 @Column 也可以采用默认的驼峰转换法创建字段 |
excludeFields | String[] | {} | 需要排除的属性名,排除掉的属性不参与建表,静态字段默认会被排除 |
@Column
字段注解,
@DbTable
开启simple
模式后,@DbColumn
不标注也会根据规则进行转换
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
name | String | "" | 行名,未配置时会读取 Column 中的配置 |
value | String | "" | 行名,未配置时会读取 Column 中的配置 |
order | int | 0 | 数据库字段排序,数字小的在前面,大的在后面 |
type | MySqlFieldType | DEFAULT | 不填默认使用属性的数据类型进行转换,转换失败的字段不会添加 |
length | int | 255 | 字段长度,默认是 255 |
decimalLength | int | 0 | 小数点长度,默认是 0 |
isNull | boolean | true | 是否为可以为 null,true 是可以,false 是不可以,默认为 true |
isKey | boolean | false | 是否是主键,默认 false |
isAutoIncrement | boolean | false | 是否自动递增,默认 false ,只有主键才能使用 |
defaultValue | String | "DEFAULT" | 默认值,默认为 null |
comment | String | "" | 数据表字段备注 |
ignore | boolean | false | 是否排除该字段,默认不排除 |
🥂 Bootx 项目合集
- Bootx-Platform 单体版脚手架
- Bootx-Cloud 微服务版脚手架
- Dax-Pay 支付开发平台
- Mybatis-Table-Modify 数据库表结构管理
- Bpm-Plus 工作流开发平台
🍻 鸣谢
感谢 JetBrains 提供的免费开源 License:
🍷License
Apache License Version 2.0

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
O2OA (翱途) 平台 V8.0 发布新增数据台账能力
亲爱的小伙伴们,O2OA (翱途) 平台开发团队经过几个月的持续努力,实现功能的新增、优化以及问题的修复。2023 年度 V8.0 版本已正式发布。欢迎大家到 O2OA 的官网上下载进行体验,也希望大家在藕粉社区里多提宝贵建议。本篇我们先为大家介绍应用市场里新增数据台账能力。 概述 O2OA (翱途) 开发平台并不限制实现的系统类型,所以能实现的系统很多。台账应用是为了方便用户将平台里所有的流程和内容数据进行统一展现、筛选,并且可以导出 Excel 形成一份报表的数据。带权限的全文检索能力一直是一个难点。O2OA V8.0 为开发者提供了带权限的全文检索能力,系统基于 Lucene 9 技术。 台账应用支持流程数据和内容管理数据的过滤、展现和导出 Excel 功能。 台账应用支持同时对多个流程应用和内容管理的台账。 台账应用支持台账字段(列)的添加、删除、排序和拖动等功能。 支持配置常用台账条目,在常用台账条目中可选择流程应用或内容管理应用,并配置过滤及展现的字段。 安装组件 1、从应用市场安装 “台账管理” 应用 2、重启服务器 3、安装系统组件,使用管理员登录,打开开始菜单 -&...
- 下一篇
PicList V1.8.3 发布,云存储-图床管理和图片上传工具,新增修复工具箱
PicList 是一个云存储管理和图片上传工具,可以进行包括云端目录查看、文件搜索、批量上传下载和删除文件,复制多种格式文件链接和文件预览等操作。 开源地址和软件官网 Github: https://github.com/Kuingsmile/PicList Gitee: https://gitee.com/kuingsmile/PicList 软件官网:https://piclist.cn 下载地址 Windows: https://release.piclist.cn/latest/PicList-Setup-1.8.3-ia32.exehttps://release.piclist.cn/latest/PicList-Setup-1.8.3-x64.exehttps://release.piclist.cn/latest/PicList-Setup-1.8.3.exe Linux: https://release.piclist.cn/latest/PicList-1.8.3.AppImagehttps://release.piclist.cn/latest/piclist_1....
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Hadoop3单机部署,实现最简伪集群
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题