首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

資料庫表結構自動生成 JavaBean 神器:第 12 版功能全解析與最佳實踐

     編輯:Java 綜合教學

史上最強表結構轉 JavaBean 工具 v12:從配置到生成的完整指南

將數十上百張資料表手寫 Entity/DTO 是繁瑣且易錯的。本文介紹一款基於 Swing 開發的桌面級代碼生成神器,支援 MySQL/Oracle/SQL Server/PostgreSQL,功能涵蓋 JPA 註解、Lombok、Builder 模式、多模板引擎、參數配置管理等,實現秒級生成。

核心功能矩陣

功能模組關鍵特性v12 新增/增強
資料源管理多資料庫類型、多環境、連接測試、驅動自適應快速新增、預設配置、Schema 自動識別
參數配置專案級配置隔離、命名策略、註解選項、輸出路徑配置管理面板、快速新增專案配置
實體生成策略JPA/Lombok/Builder、主鍵策略、字段註解、類/字段備註實體級註解選擇、@NotNull/@NotBlank 自動添加
表選擇精確匹配、模糊查詢、前綴移除、多前綴支援精確匹配已選表自動勾選、修復模糊匹配 Bug
模板引擎Velocity/FreeMarker、多語言支援 (Java/Kotlin/Go/TS)模板選擇器、自定義模板提交機制
集成工具箱字串拼接、JSON/XML 格式化、命名轉換、清除 StringBuffer38 款換膚、打開目錄、原始碼統計

介面功能導覽 (附圖說明)

1. 資料庫配置介面

資料庫配置介面

  • 支援 MySQL/Oracle/SQL Server/PostgreSQL 四大主流資料庫
  • 驅動包自動識別:mysql-connector-java-5.1.39.jar、ojdbc14.jar、sqljdbc4.jar、postgresql-9.4.1208.jre7.jar
  • 一鍵測試連接,顯示資料庫版本資訊

2. 轉換參數配置

轉換參數配置

  • 命名策略:下劃線轉駝峰、保持原樣、自定義
  • 輸出選項:Entity/DTO 同時生成、Getter/Setter、toString、equals/hashCode
  • 註解配置:@Table、@Column、@Id、@GeneratedValue、@NotNull、@Size 等

3. 字段設定與日期型別註解

字段設定介面

  • 類型映射:VARCHAR→String、BIGINT→Long、DECIMAL→BigDecimal、DATETIME→LocalDateTime 等
  • 日期註解:@JsonFormat、@DateTimeFormat、@Temporal 可選
  • 非空字段自動添加驗證註解 (@NotNull/@NotBlank)

4. 進階設定

進階設定

  • 主鍵生成策略:IDENTITY、SEQUENCE、TABLE、AUTO、UUID、ASSIGNED
  • 檔案/類註解模板:支援內建變數 ${author}、${date}、${tableName} 等
  • 實體生成策略:無 Column 註解 (最快)、有 Column 註解、全字段註解

5. 集成實用工具箱

集成工具箱

  • 字串拼接工具:SQL/JSON/XML 快速拼接生成 StringBuilder 代碼
  • JSON/XML 格式化與互轉
  • 駝峰↔下劃線命名雙向轉換
  • 表名轉實體類名、實體類名轉表名

6. 參數配置管理 (v12 重磅)

參數配置管理

快速新增參數配置

  • 專案級配置隔離:不同專案不同包路徑、命名規範、輸出目錄
  • 一鍵切換,秒級生成對應專案代碼
  • 配置持久化至本地 paramConfig.ini,重啟自動載入

效能優化關鍵設定

💡 核心建議:實體生成策略選擇 「所有字段上均無 Column 註解」,配合 ORM 框架命名策略,生成速度最快且維護最輕鬆。

Hibernate/JPA 配置

# application.properties / persistence.xml
hibernate.ejb.naming_strategy=org.hibernate.cfg.ImprovedNamingStrategy
# 或 Spring Boot 2.x+
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

MyBatis 配置

# application.yml
mybatis:
  configuration:
    map-underscore-to-camel-case: true  # 開啟下劃線轉駝峰,省略 resultMap

生成代碼範例

Entity 類 (含 JPA + Lombok + Builder)

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "t_user", comment = "用戶表")
public class UserEntity implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Comment("主鍵 ID")
    private Long id;

    @NotBlank
    @Column(name = "user_name", length = 50, nullable = false, comment = "用戶名")
    private String userName;

    @Column(name = "email", length = 100, comment = "郵箱")
    private String email;

    @Column(name = "create_time", comment = "創建時間")
    private LocalDateTime createTime;

    @Version
    @Comment("樂觀鎖版本號")
    private Integer version;
}

DTO 類 (含驗證註解)

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "用戶傳輸對象")
public class UserDTO implements Serializable {

    @Schema(description = "主鍵 ID")
    private Long id;

    @NotBlank(message = "用戶名不能為空")
    @Schema(description = "用戶名")
    private String userName;

    @Email(message = "郵箱格式不正確")
    @Schema(description = "郵箱")
    private String email;
}

安裝與運行需求

  • JDK 版本:1.6+ (開發環境 JDK 1.7,編譯目標 1.6)
  • 環境變數:必須配置 JAVA_HOME,否則無法啟動
  • 架構支援:提供 32 位與 64 位兩個版本 (基於 exe4j 打包)
  • 下載地址:CSDN 下載鏈接

常見問題與解決方案

未來規劃 (v13+)

  • 根據資料庫自動生成資料庫設計文檔 (Markdown/Word/HTML)
  • 支援更多資料庫:DB2、Informix、達夢、人大金倉等國產資料庫
  • 命令列模式 (CLI) 整合 CI/CD 流水線
  • 插件化架構,支援第三方模板與擴展
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
問題原因解決方案
覆蓋升級後功能異常舊版 paramConfig.ini 不兼容新版配置項刪除舊配置文件,重啟自動生成新版配置
壓縮包解壓失敗分卷壓縮,需同時解壓大小兩個文件先解壓大文件,彈窗選擇小文件;或重命名為 1.rar/2.rar 再解壓
Oracle/SQL Server 連接失敗驅動包版本不匹配或 URL 格式錯誤確認驅動包版本,Oracle 建議 ojdbc8.jar (JDK 8+)
生成代碼缺少備註資料庫表/字段未添加 COMMENT在資料庫補充 COMMENT,工具自動讀取