Python 官方文档:入门教程 => 点击学习
目录项目背景项目代码使用说明配置相关swagger操作目前的缺点项目背景 最近在做的项目,涉及到数据库的操作了,之前做的是直接调用接口,不用做存库操作。 因此要增加大量特殊格式的实体
最近在做的项目,涉及到数据库的操作了,之前做的是直接调用接口,不用做存库操作。
因此要增加大量特殊格式的实体类。比如我们用的是 JPA ,要增加一些注解,额外还有 lombok 的一些注解。
所以,这个项目的目的是,根据数据库中的某张表,生成与之对应的实体类。使用的技术是Freemarker 模板引擎,自定义了实体的模板。
最终的目标是,生成实体类的内容即可。有需要的朋友,可以改改,直接生成java文件。我这里觉得 使用 swagger 生成代码,放到最终的响应里,也是很不错的。
使用的是 Java 11 版本,用到的技术有 lombok,swagger,SpringBoot,spring-data,freemarker,druid。
项目代码托管在以下位置。各位可以直接 pull 下来,运行。需要注意的是,改数据库连接。
https://gitee.com/fengsoshuai/generate-entity-from-table
在 application.yml 文件中配置好自己的数据库。
随后启动 GenerateEntityFromTableApplication 类。
控制台会输出:
Application 'GenerateEntity' is running! Access URLs:
Local: Http://localhost:80
External: http://192.168.1.2:80
Doc: http://192.168.1.2:80/doc.html
访问最后一行 Doc 对应的连接地址。会进入 swagger 的测试界面。
输入参数后,点击发送按钮,在响应结果中会带出你想要的结果,比如:
package org.feng.entity;
import lombok.Data;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;
@Data
@Table("student")
public class StudentData {
@Column("id")
private Integer id;
@Column("name")
private String name;
@Column("age")
private Integer age;
@Column("weight")
private Double weight;
@Column("height")
private Double height;
@Column("modified")
private LocalDateTime modified;
}
目前的缺点是,没有对LocalDateTime
等特殊类型做兼容,需要手动导入包。
以上的实体类,是从数据库表中查 student 表,生成的。
我的数据表结构是:
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int(0) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`age` int(0) NULL DEFAULT NULL,
`weight` double NULL DEFAULT NULL,
`height` double NULL DEFAULT NULL,
`modified` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
到此这篇关于Java通过数据库表生成实体类详细过程的文章就介绍到这了,更多相关Java数据库表生成实体类内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Java通过数据库表生成实体类详细过程
本文链接: https://lsjlt.com/news/194473.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0