Go轻量ORM,零依赖,零侵入分布式事务,支持达梦(dm),金仓(kingbase),神通(shentong),南通(gbase),TDengine,mysql,postgresql,oracle,mssql,sqlite,db2,clickhouse数据库.
源码地址:https://gitee.com/chunanyong/zorm
官网: https://zorm.cn
测试用例 zorm-examples
- 基于原生 sql 语句,是 springrain 的精简和优化.
- 自带代码生成器
- 代码精简,主体 2500 行,零依赖 4000 行,注释详细,方便定制修改
- 支持事务传播,这是 zorm 诞生的主要原因
- 支持 mysql,postgresql,oracle,mssql,sqlite,db2,dm (达梦),kingbase (金仓),shentong (神通),gbase (南通),TDengine,clickhouse
- 支持多库和读写分离
- 更新性能 zorm,gorm,xorm 相当。读取性能 zorm 比 gorm,xorm 快 50%
- 不支持联合主键,变通认为无主键,业务控制实现 (艰难取舍)
- 集成 seata-golang,hptx,dbpack 支持全局托管,不修改业务代码,零侵入分布式事务
- 支持 clickhouse, 更新,删除语句使用 SQL92 标准语法.clickhouse-go 官方驱动不支持批量 insert 语法,建议使用 https://github.com/mailru/go-clickhouse
更新:
- 更新漂亮的logo
- 增加db2数据支持,依赖Limit分页语法
- DBType即将废弃,更名为Dialect,方便gorm和xorm迁移
- FuncReadWriteStrategy和GetGTXID函数增加error返回值
- 修改日志格式,统一加上 -> 符号
- 曾经偷的懒还是还上吧,类型转换加上err返回值.去掉无用的日期格式转换,驱动获取的并不是[]byte
- 修复Finder.Append和GetSQL为nil的bug
- 完善文档,注释
还没有评论,来说两句吧...