go orm框架对比
订单系统重构技术选型
针对目前订单系统由PHP系统重构成go系统
orm 技术调研选型
orm | gorm | xorm |
---|---|---|
地址 | 官网 :https://gorm.cn/ github:https://github.com/go-gorm/gorm | 官网:https://xorm.io/ github: https://github.com/go-xorm/xorm |
star(目前) | 22666 | 6305 |
优势 | 1.全功能 ORM 2.关联 (has one,has many,belongs to,many to many,多态,单表继承) 3.Create,Save,Update,Delete,Find 中钩子方法 支持 4.Preload、Joins 的预加载 5.事务,嵌套事务,Save Point,Rollback To to Saved Point 6.Context、预编译模式、DryRun 模式 7.批量插入,FindInBatches,Find/Create with Map,使用 SQL 表达式、Context Valuer 进行 CRUD 8.SQL 构建器,Upsert,锁,Optimizer/Index/Comment Hint,命名参数,子查询 9.复合主键,索引,约束 10.Auto Migration 11.自定义 Logger 12.灵活的可扩展插件 API:Database Resolver(多数据库,读写分离)、Prometheus… 13.每个特性都经过了测试的重重考验 14.开发者友好 | 1.支持 Struct 和数据库表之间的灵活映射,并支持自动同步 2.事务支持 3. 同时支持原始SQL语句和 ORM 操作的混合执行 4.使用连写来简化调用 5.支持使用ID, In, Where, Limit, Join, Having, Table, SQL, Cols等函数和结构体等方式作为条件 6.支持级联加载 Struct 7.Schema支持(仅Postgres) 8.支持缓存 通过 xorm.io/reverse 支持根据数据库自动生成 xorm 结构体 9.支持记录版本(即乐观锁) 10.通过 xorm.io/builder 内置 SQL Builder 支持 11.上下文缓存支持 12.支持日志上下文 |
database drivers | MySQL, PostgreSQL, SQlite, SQL Server | Mysql, MyMysql,Postgres, Tidb,SQLite,MsSql,Oracle (试验性支持) ,ql (试验性支持) |
个人观点 :更倾向于gorm
原因如下:1. gorm是国人开发,使用范围很广,很多国外公司都在用 2.gorm比xorm的star数多,从star数上可以推断出gorm的使用范围很广,后期迭代升级更快速,gorm也顺利的从v1->v2版本转变,bug减少
go orm框架对比相关推荐
- python数据库框架_Python数据库及ORM框架对比选择
使用Python进行MySQL的库主要有三个: Python-MySQL(更熟悉的名字可能是MySQLdb), PyMySQL SQLAlchemy. Python-MySQL: 资格最老,核心由C语 ...
- .Net 常用ORM框架对比:EF Core、FreeSql、SqlSuger
前言 最近由于工作需要,需要选用一种ORM框架,也因此对EF Core.FreeSql.SqlSuger作简单对比,并各实现了一套相同功能的Api. 个人认为各有有优势,存在即合理,不然早就被淘汰了是 ...
- js mysql orm_nodejs ORM框架对比
name star sequelize 19.9k knex 10.5k Bookshelf 5.7k 以上数据截止2019.9.18 sequelize 文档齐全,Star最多. 支持数据库:pos ...
- Python数据库及ORM框架对比选择
之前学习java,java中对数据库的操作很多,如Spring Data JPA,Hibernate和mybatisJdbc Template都能够连接上mysql数据库.那么python一定也有方法 ...
- Net Core下多种ORM框架特性及性能对比
在.NET Framework下有许多ORM框架,最著名的无外乎是Entity Framework,它拥有悠久的历史以及便捷的语法,在占有率上一路领先.但随着Dapper的出现,它的地位受到了威胁,本 ...
- C#常用的几个ORM框架及简单对比
ORM => 对象关系映射(英语:Object Relational Mapping)对于O/R,即 Object(对象)和 Relational(关系型数据),表示必须同时使用面向对象和关系型 ...
- EF、Chloe、SqlSugar、DOS.ORM四种ORM框架的对比
文章目录 四种orm框架的对比 1.什么是ORM? 2.四种框架的基本信息对比如下表: 3.四种框架的耗时情况如下: 4.四种框架都支持哪些功能? 5.就个人使用而言,比较推荐哪个框架? 6.SqlS ...
- PetaPoco - 轻量级高性能的ORM框架(支持.NET Core)
我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db. 而且市面上的orm框架有很多,有重量级的Entity Framework,有 ...
- dapperpoco mysql_Dapper一个和petapoco差不多的轻量级ORM框架
我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架 叫做dapper,而且被称为th ...
最新文章
- go 二进制程序守护_GO-环境设置
- socket 编程入门教程(三)TCP原理:7、TCP连接的关闭
- JSP装状态管理 session cookie
- linux项目变量存放,linux 堆、栈、全局变量存放
- php接口返回错误码,laravel 错误处理,接口错误返回json代码
- Batchsize不够大,如何发挥BN性能?探讨神经网络在小Batch下的训练方法
- JavaScript学习(三十一)—在输入框中如何判断输入的是一个正确的网址
- GB/T 10595-2017版标准的错别字
- asp.net C#后台实现下载文件的几种方法
- 9个免费可商用的字体推荐
- 如何查询Linux软件安装源,Zypper——suse软件查询 安装 升级 与 软件源编辑
- 联想电脑ideapad_330c拆机清灰、换硅脂步骤大全
- 6LowPAN与CoAP协议
- Oracle实验三 基于大数据集的数据库操作
- 切换无线网卡失败服务器提示,电脑无线网卡切换为AP模式时提示ICS启动失败的解决方法...
- js——行间样式与非行间样式
- 《庄子·外篇·天运第十四》
- 什么是低电压处理器 笔记本CPU标准与低电压区别对比
- ES6新增关键字:let和const及let的常用场景
- Python—实现语音自动播报最新疫情信息
热门文章
- java 809 128 题_java 第809页
- 720phi10p 和 720p有什么区别_标清摄像机和高清网络摄像机有什么区别?-凯茉锐
- 从0到1手把手搭建spring cloud alibaba 微服务大型应用框架(十五) swagger篇 : gateway 集成swagger 与 knife4j实现在线api文档并嵌入到自己项目内
- 版本升级不跳转应用安装页面
- 文件读取中换行的处理问题
- 怎么测试网络稳定性_权威评测报告发布,移动领跑江苏地区5G网络
- 盘点5个C#开发的、可用于个人博客的系统
- 用Arduino制作一个功能最基础的辉光钟
- chrome91.0.4472.77(正式版本)(64位) windows和mac跨域解决
- python打印小票_PyQt5中使用Qprinter打印热敏小票