• 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

  • 相关阅读:
    array_unique() 去重复
    datagrid导出数据
    $this->success传递数据
    二分+暴力状压+桶——cf1288D
    乱搞+虚假莫队?+树状数组——cf1288E
    字符串+置换+莫队离线处理——cf1290B
    扩展域并查集+图论——cf1290C 好题
    换根dp+暴力+预处理+记忆化搜索——cf1292C好题!
    线段树,思维——cf1295E
    暴力,贪心——cf1292B
  • 原文地址:https://www.cnblogs.com/yudongdong/p/11634134.html
Copyright © 2020-2023  润新知