Go 轻量 ORM, 零依赖,零侵入分布式事务,支持达梦 (dm), 金仓 (kingbase), 神通 (shentong), 南通 (gbase),TDengine,mysql,postgresql,oracle,mssql,sqlite,db2,clickhouse...
源码:https://gitee.com/chunanyong/zorm
官网: https://zorm.cn
- 基于原生 sql 语句,学习成本更低,性能更优
- 代码生成器
- 代码精简,主体 3000 行,零依赖 5000 行,注释详细,方便定制修改
- 支持事务传播,这是 zorm 诞生的主要原因
- 支持 mysql,postgresql,oracle,mssql,sqlite,db2,dm (达梦),kingbase (金仓),shentong (神通),gbase (南通),TDengine,clickhouse
- 支持多库和读写分离
- 不支持联合主键,变通认为无主键,业务控制实现 (艰难取舍)
- 集成 seata-go,hptx,dbpack 支持全局托管,不修改业务代码,零侵入分布式事务
- 支持 clickhouse, 更新和删除语句使用 SQL92 标准语法
更新:
- Finder和EntityMap增加序列化json方法,适配兼容wasm环境
- IsBindDBConnection 检查ctx是否已经绑定数据库连接
- Finder增加GetValues方法,返回Finder封装的values值
- zormErrorSQLValues 使用json格式输出
- BindContextOnlyUpdateCols 指定仅更新的数据库字段,只对Update方法有效.cols是数据库列名切片
- BindContextMustUpdateCols 指定必须更新的数据库字段,只对UpdateNotZeroValue方法有效.cols是数据库列名切片
- GetDefaultValueMap更名为GetDefaultValue. BindContextMustUpdate更名为BindContextDefaultValue, 优先级高于 GetDefaultValue
- FuncWrapFieldTagName函数增加*reflect.StructField参数
- 完善文档,注释
还没有评论,来说两句吧...