最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java通過數(shù)據(jù)庫表生成實(shí)體類詳細(xì)過程

 更新時(shí)間:2023年02月07日 11:11:18   作者:你家寶寶  
這篇文章主要介紹了Java通過數(shù)據(jù)庫表生成實(shí)體類,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧

項(xiàng)目背景

最近在做的項(xiàng)目,涉及到數(shù)據(jù)庫的操作了,之前做的是直接調(diào)用接口,不用做存庫操作。

因此要增加大量特殊格式的實(shí)體類。比如我們用的是 JPA ,要增加一些注解,額外還有 lombok 的一些注解。

所以,這個(gè)項(xiàng)目的目的是,根據(jù)數(shù)據(jù)庫中的某張表,生成與之對(duì)應(yīng)的實(shí)體類。使用的技術(shù)是Freemarker 模板引擎,自定義了實(shí)體的模板。

最終的目標(biāo)是,生成實(shí)體類的內(nèi)容即可。有需要的朋友,可以改改,直接生成java文件。我這里覺得 使用 swagger 生成代碼,放到最終的響應(yīng)里,也是很不錯(cuò)的。

使用的是 Java 11 版本,用到的技術(shù)有 lombok,swagger,springboot,spring-data,freemarker,druid。

項(xiàng)目代碼

項(xiàng)目代碼托管在以下位置。各位可以直接 pull 下來,運(yùn)行。需要注意的是,改數(shù)據(jù)庫連接。

https://gitee.com/fengsoshuai/generate-entity-from-table

使用說明

配置相關(guān)

在 application.yml 文件中配置好自己的數(shù)據(jù)庫。

隨后啟動(dòng) GenerateEntityFromTableApplication 類。

控制臺(tái)會(huì)輸出:

    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 對(duì)應(yīng)的連接地址。會(huì)進(jìn)入 swagger 的測(cè)試界面。

swagger操作

輸入?yún)?shù)后,點(diǎn)擊發(fā)送按鈕,在響應(yīng)結(jié)果中會(huì)帶出你想要的結(jié)果,比如:

package org.feng.entity;
import lombok.Data;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;
/**
 * 寶寶寫的一實(shí)體類
 *
 * @version v2.0
 */
@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;
}

目前的缺點(diǎn)

目前的缺點(diǎn)是,沒有對(duì)LocalDateTime 等特殊類型做兼容,需要手動(dòng)導(dǎo)入包。

以上的實(shí)體類,是從數(shù)據(jù)庫表中查 student 表,生成的。

我的數(shù)據(jù)表結(jié)構(gòu)是:

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;

到此這篇關(guān)于Java通過數(shù)據(jù)庫表生成實(shí)體類詳細(xì)過程的文章就介紹到這了,更多相關(guān)Java數(shù)據(jù)庫表生成實(shí)體類內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java使用CompletableFuture分批處理任務(wù)實(shí)現(xiàn)

    java使用CompletableFuture分批處理任務(wù)實(shí)現(xiàn)

    本文主要介紹了java使用CompletableFuture分批處理任務(wù)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Java中超詳細(xì)this與super的概念和用法

    Java中超詳細(xì)this與super的概念和用法

    這篇文章主要介紹了Java中超詳細(xì)this與super的概念和用法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Java編程中快速排序算法的實(shí)現(xiàn)及相關(guān)算法優(yōu)化

    Java編程中快速排序算法的實(shí)現(xiàn)及相關(guān)算法優(yōu)化

    這篇文章主要介紹了Java編程中快速排序算法的實(shí)現(xiàn)及相關(guān)算法優(yōu)化,快速排序算法的最差時(shí)間復(fù)雜度為(n^2),最優(yōu)時(shí)間復(fù)雜度為(n\log n),存在優(yōu)化的空間,需要的朋友可以參考下
    2016-05-05
  • 谷歌二維碼引擎com.google.zxing二維碼生成與解析

    谷歌二維碼引擎com.google.zxing二維碼生成與解析

    這篇文章主要給大家介紹了關(guān)于谷歌二維碼引擎com.google.zxing二維碼生成與解析的相關(guān)資料,zxing是google開源的二維碼生成和解析工具,需要的朋友可以參考下
    2023-07-07
  • Intellij IDEA實(shí)現(xiàn)SpringBoot項(xiàng)目多端口啟動(dòng)的兩種方法

    Intellij IDEA實(shí)現(xiàn)SpringBoot項(xiàng)目多端口啟動(dòng)的兩種方法

    有時(shí)候使用springboot項(xiàng)目時(shí)遇到這樣一種情況,用一個(gè)項(xiàng)目需要復(fù)制很多遍進(jìn)行測(cè)試,除了端口號(hào)不同以外,沒有任何不同。遇到這種情況怎么辦呢?這時(shí)候可以使用Intellij IDEA解決
    2018-06-06
  • java maven中如何引入自己的lib

    java maven中如何引入自己的lib

    在JavaMaven項(xiàng)目中引入自己的庫可以簡化為幾個(gè)步驟:首先,確保庫以JAR格式存在或打包成JAR;其次,將JAR文件放置在項(xiàng)目目錄或安裝到本地Maven倉庫;最后,在pom.xml中添加依賴,這樣做可以使項(xiàng)目更加模塊化,便于管理和維護(hù),感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • java的Console類的使用方法及實(shí)例

    java的Console類的使用方法及實(shí)例

    這篇文章主要介紹了java的Console類的使用方法及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • Java中ArrayList類詳細(xì)介紹

    Java中ArrayList類詳細(xì)介紹

    這篇文章主要介紹了Java中ArrayList類詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • SpringBoot或SpringAI對(duì)接DeepSeek大模型的詳細(xì)步驟

    SpringBoot或SpringAI對(duì)接DeepSeek大模型的詳細(xì)步驟

    這篇文章主要介紹了DeepSeek智能助手的使用方法和步驟,包括引入庫、配置環(huán)境變量和配置,文章詳細(xì)描述了流式請(qǐng)求和非流式請(qǐng)求的實(shí)現(xiàn)方式,需要的朋友可以參考下
    2025-02-02
  • SpringCloud OpenFeign與Ribbon客戶端配置詳解

    SpringCloud OpenFeign與Ribbon客戶端配置詳解

    在springcloud中,openfeign是取代了feign作為負(fù)載均衡組件的,feign最早是netflix提供的,他是一個(gè)輕量級(jí)的支持RESTful的http服務(wù)調(diào)用框架,內(nèi)置了ribbon,而ribbon可以提供負(fù)載均衡機(jī)制,因此feign可以作為一個(gè)負(fù)載均衡的遠(yuǎn)程服務(wù)調(diào)用框架使用
    2022-11-11

最新評(píng)論

理塘县| 德化县| 纳雍县| 金华市| 绵竹市| 隆回县| 集贤县| 浮山县| 昌吉市| 吴忠市| 兴海县| 双流县| 威海市| 徐水县| 墨竹工卡县| 富蕴县| 宾阳县| 赣榆县| 昌平区| 平山县| 凤山县| 如皋市| 屯门区| 嘉祥县| 苏州市| 东明县| 富宁县| 朝阳区| 江西省| 仪陇县| 陕西省| 家居| 禹州市| 临城县| 衡南县| 福贡县| 河西区| 石家庄市| 嘉鱼县| 嘉禾县| 涟源市|