zorm是go(golang)轻量级ORM,零依赖,零侵入分布式事务,支持达梦(dm),金仓(kingbase),神通(shentong),南大通用(gbase),mysql,postgresql,oracle,mssql,sqlite,clickhouse数据库.
源码地址:
go get gitee.com/chunanyong/zorm
- 基于原生sql语句编写,是springrain的精简和优化.
- 自带代码生成器
- 代码精简,主体2500行,零依赖4200行,注释详细,方便定制修改
- 支持事务传播,这是zorm诞生的主要原因
- 支持mysql,postgresql,oracle,mssql,sqlite, dm(达梦),kingbase(金仓),shentong(神通),gbase(南通),clickhouse
- 支持多库和读写分离
- 更新性能zorm,gorm,xorm相当. 读取性能zorm比gorm,xorm快一倍
- 不支持联合主键,变通认为无主键,业务控制实现(艰难取舍)
- 集成seata-golang,支持全局托管,不修改业务代码,零侵入分布式事务
- 支持clickhouse,更新,删除语句使用SQL92标准语法.clickhouse-go官方驱动不支持批量insert语法,建议使用
- 测试用例即文档:
生产使用参考 UserStructService.go
更新:
- 完善文档,注释
- 支持clickhouse,更新,删除语句使用SQL92标准语法
- ID默认使用时间戳+随机数,代替UUID实现
- 优化SQL提取的正则表达式
- 集成seata-golang,支持全局托管,不修改业务代码,零侵入分布式事务