SQL转实体类工具。
免费的在线SQL转实体类转换器,无需安装。可将CREATE TABLE语句转换为C#或Java类。
關於 SQL to Entity
解析 CREATE TABLE 陳述式,並產生可供 ORM 直接使用的 C# 或 Java 實體類別。它會擷取資料表名稱、每個欄位的名稱/型別/是否可為 null/是否為主索引鍵,將 SQL 型別對應到目標語言型別,跳過 CONSTRAINT/PRIMARY KEY/FOREIGN KEY/INDEX/CHECK 子句,並為屬性加上對應的資料註釋或 JPA 註釋。
使用方法
1. 將 CREATE TABLE 陳述式貼到 SQL 輸入方塊。 2. 選擇 C# 或 Java 作為目標語言。 3. 點擊轉換,在輸出方塊中產生實體類別。 4. 使用複製按鈕複製產生的類別。
產生的註釋與型別對應
C#:在主索引鍵欄位上產生 [Key],在非 null 實值型別屬性上產生 [Required](string/byte[] 會略過),屬性名稱採用 PascalCase,並提供豐富的型別對應(int、long、decimal、bool、DateTime、Guid、byte[] 等)。Java:產生 @Entity/@Table(name=...),在主索引鍵上加上 @Id,每個欄位都加上 @Column(name=..., nullable=...),私有欄位採用 camelCase,並提供完整的 getter/setter 方法配對。SQL 型別在查表前會先移除長度與括號以進行正規化。
▶支援哪些 SQL 方言?
支援任何將欄位定義放在括號內的 CREATE TABLE。方括號識別項([Name])、反引號、雙引號,以及 VARCHAR(50) 之類的長度宣告都可被相容,CONSTRAINT/PRIMARY KEY/FOREIGN KEY/INDEX/KEY/CHECK 子句會被略過。
▶未知的 SQL 型別如何處理?
內建對應中不存在的型別會預設對應為 string(C#)或 String(Java)。在查表前會先移除長度部分,因此 VARCHAR(255) 會被視為 VARCHAR,並對應到 String。
▶為什麼 string 屬性上沒有 [Required]?
在 C# 輸出中,[Required] 僅針對非 null 實值型別產生。string 和 byte[] 等參考型別會被略過,因為 .NET 執行階段是透過編譯器註釋而非資料註釋來處理非 null 參考型別。
▶Java 輸出是否包含 getter 和 setter?
包含。每個對應欄位都會產生一個帶有 @Column 註釋的私有 camelCase 欄位,以及對應的公用 getPascalCase()/setPascalCase() 方法配對,因此該類別可直接被 Hibernate 或 Spring Data 使用。
如果这个工具对你有帮助,请考虑请我喝杯咖啡。
請幫我買杯咖啡吧。