本使用文档只针对于 <<快速构建使用>>
通过 反射和我们的自定义注解实现简单的生成表…
源代码的思路:
通过反射拿到我们的自定义的注解上的值再去对用户写上的值进行我们的表的sql语句破解进行我们的表的生成…
配置文件application.yml
实体类生成
entity:
builder:
## 配置是否开启
open: true
## 实体类所在的包
pack: com.object.test
开始使用
数据库排除字段不写注解视为不是数据库字段
表名注解
@LiTableName(value = "tt_test_table", comment = "TT的comment")
value=为表名
comment =表名的注释
表字段注解
@LiField(isPrimaryKey = true, type = LiFieldType.INT, size = 0, comment = "TT主键")
isPrimaryKey=是否为主键 | 默认是false 可以不写一般的字段
type=字段类型 |(int,varchar…)
size=字段类型的长度| 默认是100
comment =字段的注释
介绍枚举LiFieldType类
类型就是mysql数据库常用的数据库类型
INT,
CHAR,// 0-255 bytes 定长字符串
VARCHAR,// 0-65535 bytes 变长字符串
TINYINT,
SMALLINT,// 2 Bytes (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT,// 3 Bytes (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INTEGER,// 4 Bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT,// 8 Bytes (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值
FLOAT,//4 Bytes (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 0,(1.175 494 351 E-38,3.402 823 466 E+38) 单精度浮点数值
DOUBLE,// 8 Bytes (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度
DECIMAL,// 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 依赖于M和D的值 小数值日期和时间类型
DATE,// 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME,// 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR,// 1 1901/2155 YYYY 年份值
DATETIME,// 8 1000-01-01 00:00:00/9999-12-31 23:59:59 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP,// 4
TINYBLOB,// 0-255 bytes 不超过 255 个字符的二进制字符串
TINYTEXT,// 0-255 bytes 短文本字符串
BLOB,// 0-65 535 bytes 二进制形式的长文本数据
TEXT,// 0-65 535 bytes 长文本数据
MEDIUMBLOB,// 0-16 777 215 bytes 二进制形式的中等长度文本数据
MEDIUMTEXT,// 0-16 777 215 bytes 中等长度文本数据
LONGBLOB,// 0-4 294 967 295 bytes 二进制形式的极大文本数据
LONGTEXT,// 0-4 294 967 295 bytes 极大文本数
介绍差不多了直接上案例
开启配置就不说了直接上实体类
配置我们的实体类
import com.object.annotation.LiField;
import com.object.annotation.LiTableName;
import com.object.type.LiFieldType;
import java.util.Date;
@LiTableName(value = "tt_test_table", comment = "TT的comment")
public class TtTestTable {
@LiField(isPrimaryKey = true, type = LiFieldType.INT, size = 0, comment = "TT主键")
private int tId;
@LiField(type = LiFieldType.VARCHAR, size = 188, comment = "TT的名字")
private String tName;
@LiField(isPrimaryKey = true, type = LiFieldType.DATETIME, size = 0, comment = "TT时间")
private Date createTime;
//不写注解就是不加入数据库字段名 排除的意思
private String testName;
public int gettId() {
return tId;
}
public void settId(int tId) {
this.tId = tId;
}
public String gettName() {
return tName;
}
public void settName(String tName) {
this.tName = tName;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
}
配置好了直接运行起我们的主启动类LqApplication
运行结果例图 可以直接在我们的控制台看到创建日志
问题
当在运行一遍会报错吗?
答案:不会 做了存在的判断运行第二遍 就不会重复判断了
如果我想修改其中或者是修改字段怎么办
答案: 已经添加都最新版本里面去了…