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

posted @   俞正东  阅读(1411)  评论(7编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示