zorm 1.5.7 发布,正式支持 TDengine

zorm 是 go (golang) 轻量级 ORM, 零依赖,零侵入分布式事务,支持达梦 (dm), 金仓 (kingbase), 神通 (shentong), 南大通用 (gbase),TDengine,mysql,postgresql,oracle,mssql,sqlite,clickhouse 数据库.

源码地址:https://gitee.com/chunanyong/zorm
官网: https://zorm.cn

go get gitee.com/chunanyong/zorm 
  • 基于原生 sql 语句编写,是 springrain 的精简和优化.
  • 自带代码生成器
  • 代码精简,主体 2500 行,零依赖 4000 行,注释详细,方便定制修改
  • 支持事务传播,这是 zorm 诞生的主要原因
  • 支持 mysql,postgresql,oracle,mssql,sqlite,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
  • 测试用例即文档: https://gitee.com/chunanyong/readygo/blob/master/test/testzorm/BaseDao_test.go

测试用例参考 zorm-examples

更新:

  1. 感谢 @小口天 的辛苦付出,https://gitee.com/wuxiangege/zorm-examples 测试用例已经非常完善
  2. 按照反射获取的Struct属性顺序,生成insert语句和update语句
  3. 支持TDengine数据库,因TDengine驱动不支持事务,需要设置DisableTransaction=true
  4. 增加hptx和dbpack分布式事务的支持,细粒度控制是否使用全局事
  5. DisableTransaction用于全局禁用数据库事务,用于不支持事务的数据库驱动
  6. 完善文档,注释

猜你喜欢

转载自www.oschina.net/news/204963