订单系统重构技术选型

针对目前订单系统由PHP系统重构成go系统

orm 技术调研选型

ormgormxorm
地址官网 :https://gorm.cn/ github:https://github.com/go-gorm/gorm官网:https://xorm.io/ github: https://github.com/go-xorm/xorm
star(目前)226666305
优势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 driversMySQL, PostgreSQL, SQlite, SQL ServerMysql, MyMysql,Postgres, Tidb,SQLite,MsSql,Oracle (试验性支持) ,ql (试验性支持)

个人观点 :更倾向于gorm

原因如下:1. gorm是国人开发,使用范围很广,很多国外公司都在用 2.gorm比xorm的star数多,从star数上可以推断出gorm的使用范围很广,后期迭代升级更快速,gorm也顺利的从v1->v2版本转变,bug减少

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐