Mybatis-Table-Modify是表结构管理工具。
本项目Fork自 A.C.Table,之前在其他项目中用到了A.C.Table, 并对功能进行了改造。因为该A.C.Table项目近期发生了停更,所以打算把这些功能给开源出来,同时继续将这个项目完善下去。
只需要在Entity实体类上添加注解,程序会自动根据获取到的注解来自动生成创建表语句,以及变更数据库表结构的更新语句,支持了与mybatis和mybatis plus共同使用,兼容Mybatis-Plus的注解。
cn.bootxe mybatis-table-modify ${latest.version}
无论是使用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(字段类型)
等
表注释,标注在要进行建表的实体类上
属性 | 类型 | 默认值 | 描述 |
---|---|---|---|
name | String | "" | 表名,未配置时会读取TableName 中的配置 |
value | String | "" | 表名,未配置时会读取TableName 中的配置 |
comment | String | "" | 表注释 |
charset | MySqlCharset | "" | 数据库默认字符集 |
isSimple | boolean | true | 是否开启simple 模式配置,开启后字段不写注解@Column 也可以采用默认的驼峰转换法创建字段 |
excludeFields | String[] | {} | 需要排除的属性名,排除掉的属性不参与建表, 静态字段默认会被排除 |
字段注解,
@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 | 是否排除该字段, 默认不排除 |
Apache License Version 2.0
spring整合mybatis-plus 1.添加依赖pom.xml 提示:集成mybatis-plus要把mybatis坐标和mybatis-spring坐标去掉,避免冲突 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht
Mybatis-plus框架使用配置 MyBatis-Plus(简称 MP)是一个基于 MyBatis 的增强工具,它对 Mybatis 的基础功能进行了增强,但未做任何改变。使得我们可以可以在 Mybatis 开发的项目上直接进行升级为 Mybatis-plus,正如它对自己的定位,它能够帮助我们进一步简化开发过程,提高开发效率。 Mybatis-Plus 其实可以看作是对 Mybatis 的再
1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>
前言: mybatis-plus版本:3.5+ springboot版本:2.4.2 1.引入springboot环境依赖 省略 2.引入mybatis-plus依赖,引入数据库依赖,德鲁伊 <!--druid连接池--> <dependency> <groupId>com.alibaba</groupId> <artifa
本文介绍如何使用 dmctl 组件来管理通过 DM 迁移的表在 DM 内部的表结构。 原理介绍 在使用 DM 迁移数据表时,DM 对于表结构主要包含以下相关处理。 对于全量导出与导入,DM 直接导出当前时刻上游的表结构到 SQL 格式的文件中,并将该表结构直接应用到下游。 对于增量复制,在整个数据链路中则包含以下几类可能相同或不同的表结构。 上游当前时刻的表结构(记为 schema-U)。 当前
Lua中的table不是一种简单的数据结构,它可以作为其它数据结构的基础。如数组、记录、线性表、队列和集合等,在Lua中都可以通过table来表示。 (1) 数组: 使用整数来索引table即可在Lua中实现数组。因此,Lua中的数组没有固定的大小,如: a = {} for i = 1, 1000 do a[i] = 0 end print("The length of array '
以终为始 想象一下我们希望有怎么样的分类,比如你是一个音乐爱好者,那么你的博客可能会分成:摇滚、流行、古典……;如果你是一个体育爱好者,那么可能会分成:篮球赛事、户外运动、健身……;如果是一个IT爱好者,可能会分成:大数据、数学知识、信息检索……。那么首先我们需要的是一个类目表。 创建src/AppBundle/Entity/Subject.php这个model,如下: <?php namesp
本文向大家介绍获取Lua表结构table数据实例,包括了获取Lua表结构table数据实例的使用技巧和注意事项,需要的朋友参考一下 只是获取一个全局变量什么的太没意思了,今天我们来玩个高难度的——获取Lua表结构的数据。 (旁白:O O!我是不是该说点什么?) 1. 什么是table table是Lua里最强大的数据类型,我们可以当成是数组,但是它又和数组有点不一样,建议大家看看Lua的语法教程,
主要内容:1.概述1.概述 MyBatis 的整体架构分为三层: 基础支持层 核心处理层 接口层 2 基础支持层 2.1 反射模块 对应 reflection 包。 Java 中的反射虽然功能强大,但对大多数开发人员来说,写出高质量的反射代码还是 有一定难度的。MyBatis 中专门提供了反射模块,该模块对 Java 原生的反射进行了良好的封装,提了更加简洁易用的 API,方便上层使调用,并且对反射操作进行了一系列
2.5 ABP公共结构 - 设置管理 2.5.1 简介 每个应用程序需要存储一些设置并在应用程序的某个地方使用这些设置。ABP框架提供强大的基础架构,我们可以在服务端或者客户端设置,来存储/获取应用程序、 租户和用户级别的配置。 设置通常是存储在数据库(或另一个来源)中,用名称-值(name-value)字符串对应的结构来表示。我们可以把非字符串值转换成字符串值来存储。 注意:关于ISetting