实体类自动生成表

源码

本使用文档只针对于 <<快速构建使用>>
通过 反射和我们的自定义注解实现简单的生成表…

源代码的思路:

通过反射拿到我们的自定义的注解上的值再去对用户写上的值进行我们的表的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
运行结果例图 可以直接在我们的控制台看到创建日志

问题
当在运行一遍会报错吗?
答案:不会 做了存在的判断运行第二遍 就不会重复判断了

如果我想修改其中或者是修改字段怎么办
答案: 已经添加都最新版本里面去了…

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

百度搜索爱敲代码的小庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值