zorm 1.6.1 发布,减代码,加功能

科技资讯 投稿 43200 0 评论

zorm 1.6.1 发布,减代码,加功能

Go 轻量 ORM, 零依赖,零侵入分布式事务,支持达梦 (dm, 金仓 (kingbase, 神通 (shentong, 南通 (gbase,TDengine,mysql,postgresql,oracle,mssql,sqlite,db2,clickhouse 数据库.

测试用例 zorm-examples

  • 基于原生 sql 语句,学习成本更低.

  • 自带代码生成器

  • 代码精简,主体 2500 行,零依赖 4000 行,注释详细,方便定制修改

  • 支持事务传播,这是 zorm 诞生的主要原因

  • 支持 mysql,postgresql,oracle,mssql,sqlite,db2,dm (达梦,kingbase (金仓,shentong (神通,gbase (南通,TDengine,clickhouse

  • 支持多库和读写分离

  • 不支持联合主键,变通认为无主键,业务控制实现 (艰难取舍

  • 集成 seata-golang,hptx,dbpack 支持全局托管,不修改业务代码,零侵入分布式事务

  • 支持 clickhouse, 更新,删除语句使用 SQL92 标准语法.clickhouse-go 官方驱动不支持批量 insert 语法,建议使用 https://github.com/mailru/go-clickhouse

更新:

  1. 使用 RegisterCustomDriverValueConver 函数替代 CustomDriverValueMap 变量,将 zorm.CustomDriverValueMap["*dm.DmClob"] = CustomDMText{}
     修改为 zorm.RegisterCustomDriverValueConver("TEXT", CustomDMText{}
    , 达梦数据库重新复制示例代码,重新复制!重新复制!

  2. 重写 sqlRowsValues 函数,支持查询单个字段,Struct 类型接收

  3. 简化自增序列的实现,使用 string 代替 map [string] string

  4. 使用 OverrideFunc 重写 zorm 的函数,暴露 WrapUpdateStructFinder 函数

  5. 去掉 kingbase 列的大写转换,修改字符串拼接方式,提升性能

  6. BindContextDisableTransaction 用在不使用事务更新数据库的场景,强烈建议不要使用这个方法,更新数据库必须有事务!

  7. 增加查询没有返回列的判断,特殊情况可以使用 Query 执行更新语句,绕过事务检查 (不建议

  8. 完善文档,注释

编程笔记 » zorm 1.6.1 发布,减代码,加功能

赞同 (59) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽