Orm框架(AntOrm,Ktorm)在mac機器上如何使用代碼生成


Orm框架介紹

  1. AntOrm 是我維護的一個開源csharp -netcore 項目
  2. Ktorm 是一個大神開源的kotlin項目

由於我工作上都用到了,為了提高工作效率 我寫了一個mac端工具幫助快速生成Dbmodel代碼

工具上傳到百度網盤,下載地址

鏈接:https://pan.baidu.com/s/1Q64zoRjE3u66jJnzF8rhww
提取碼:ljx2

這款工具我是用微軟的xamarin.mac技術開發的,駐留在menubar上如下圖所示

工具截圖:

目前有2個tab。

Image是自動上傳剪貼板的圖片工具

Image是監聽剪切板有沒有復制圖片,有的話自動把圖片上傳到服務器,並且生成一個 markdown的圖片並且賦值到剪貼板,可以直接在寫markdown的時候粘貼,是方便寫markdwon插入截圖小功能!

 

OrmGen是我今天給大家介紹的功能

 

 

 

支持的數據庫有

  • Mysql
  • Sqlserver

使用方法很簡單,在工具內填寫json 點擊 Gen 按鈕即可

 

 

Ktorm的Json內容模板:

{
  "Type": "Mysql",
  "OutPutFolder": "/Users/yuzd/Downloads/ConsoleApp4/ConsoleApp4",
  "IsKotlin": true,
  "NamespaceName": "DbModel",
  "ConnectionString": "Server=localhost;Port=53306;Database=antmgr;Uid=root;Pwd=123456;charset=utf8;SslMode=none",
  "TableFilter": []
}

 

Ktorm生成的Json字段說明

字段 說明
Type 支持 mysql 和 sqlserver (sqlserver的話支持在后面指定版本號:sqlserver2000, sqlserver2005,sqlserver2008,sqlserver2012,sqlserver2017,如果不指定的話 sqlserver = sqlserver2008)
OutPutFolder 生成的代碼保存在本機的哪個文件夾(如果你使用idea插件的話可以使用相對路徑)
IsKotlin 需要設置為true
NamespaceName 指定 package 名稱
ConnectionString db連接字符串
TableFilter 表名稱的string數組,如果指定了只會生成特定的表的代碼

Ktorm生成的代碼如下:

 

 

 

 

 

 

 

 

AntOrm的Json 內容模板:

{
  "Type": "Mysql",
  "OutFileName": "DbModels",
  "OutPutFolder": "/Users/yuzd/Downloads/ConsoleApp4/ConsoleApp4",
  "IsKotlin": false,
  "NamespaceName": "DbModel",
  "BaseEntityClass": "",
  "DataContextName": "AntEntity",
  "EntitySuffix": "",
  "AssociationPrefix": "",
  "AssociationAppendByFieldName": true,
  "GenerateAssociations": true,
  "ConnectionString": "Server=localhost;Port=53306;Database=antmgr;Uid=root;Pwd=123456;charset=utf8;SslMode=none",
  "PerClassPerFile": false,
  "TableFilter": [],
  "SetFkList": [],
  "UsingList": [],
  "SetColumnTypeList": []
}

 

AntOrm生成的Json字段說明

字段 說明
Type 支持 mysql 和 sqlserver (sqlserver的話支持在后面指定版本號:sqlserver2000, sqlserver2005,sqlserver2008,sqlserver2012,sqlserver2017,如果不指定的話 sqlserver = sqlserver2008)
OutFileName 若沒有指定一個表生成一個class的話,最終會生成一個cs文件,這個字段就是指定cs文件的名稱
OutPutFolder 生成的代碼保存在本機的哪個文件夾(如果你使用idea插件的話可以使用相對路徑)
IsKotlin 需要設置為false
NamespaceName 指定 NamespaceName 名稱
BaseEntityClass 如果想要生成的dbmodel 的 class都繼承一個特殊的父類可以用這個字段
DataContextName 指定聚合類的名稱 為空的話默認使用db名稱
EntitySuffix 如果想要生成的dbmodel的class名稱都加一個特定的名稱后綴可以使用
AssociationPrefix 指定外鍵字段的前綴
AssociationAppendByFieldName 指定外鍵字段名稱生成規則要包含原字段和外鍵字段名稱
GenerateAssociations 開啟生成外鍵
ConnectionString db連接字符串
PerClassPerFile 是否開啟一個表一個class
TableFilter 表名稱的string數組,如果指定了只會生成特定的表的代碼
SetFkList 非物理的方式指定外鍵關系 格式: A表名稱,A表字段,B表名稱,B表字段,外鍵關系(OneToOne,OneToMany,ManyToOne) 例如 "good_category,GoodTid,goods,Tid,OneToOne"
UsingList 指定using關系
SetColumnTypeList 指定某個字段為一個enum類型的時候用到,格式為 table.filedName=xxxxxx 例如:"person.Gender=GenderEnum"

 

為了更加方便使用以上小工具我已經封裝成了一個idea的插件:

https://plugins.jetbrains.com/plugin/14033


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM