zorm是go(golang)轻量级ORM,零依赖,零侵入分布式事务,支持达梦(dm),金仓(kingbase),神通(shentong),南大通用(gbase),mysql,postgresql,oracle,mssql,sqlite,clickhouse数据库。
源码地址:https://gitee.com/chunanyong/zorm
go get gitee.com/chunanyong/zorm
基于原生sql语句编写,是springrain的精简和优化.
自带代码生成器
代码精简,主体2500行,零依赖4000行,注释详细,方便定制修改
支持事务传播,这是zorm诞生的主要原因
支持mysql,postgresql,oracle,mssql,sqlite,dm(达梦),kingbase(金仓),shentong(神通),gbase(南通),clickhouse
支持多库和读写分离
更新性能zorm,gorm,xorm相当. 读取性能zorm比gorm,xorm快50%
不支持联合主键,变通认为无主键,业务控制实现(艰难取舍)
集成seata-golang,支持全局托管,不修改业务代码,零侵入分布式事务
支持clickhouse,更新,删除语句使用SQL92标准语法.clickhouse-go官方驱动不支持批量insert语法,建议使用https://github.com/mailru/go-clickhouse
测试用例即文档: https://gitee.com/chunanyong/readygo/blob/master/test/testzorm/BaseDao_test.go
生产使用参考 UserStructService.go
更新:
增加CloseDB函数,关闭数据库连接池
完善文档,注释