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 @ 2019-10-08 10:46  俞正东  阅读(1360)  评论(7编辑  收藏  举报