zorm是golang轻量级ORM,支持达梦(dm),金仓(kingbase),神通(shentong),南通(gbase),mysql,postgresql,oracle,mssql,sqlite数据库。
源码地址:https://gitee.com/chunanyong/zorm
go get gitee.com/chunanyong/zorm
- 基于原生sql语句编写,是springrain的精简和优化.
- 自带代码生成器
- 代码精简,总计2500行,注释详细,方便定制修改.
- 支持事务传播,这是zorm诞生的主要原因
- 支持mysql,postgresql,oracle,mssql,sqlite,dm(达梦),kingbase(金仓),shentong(神通),gbase(南通)
- 支持多库和读写分离
- 更新性能zorm,gorm,xorm相当. 读取性能zorm比gorm,xorm快一倍
- 测试用例即文档: https://gitee.com/chunanyong/readygo/blob/master/test/testzorm/BaseDao_test.go
生产使用参考 UserStructService.go
更新:
- 如果查询的字段在column tag中没有找到,就会根据名称(不区分大小写)映射到struct的属性上
- 在从xorm迁移到zorm的过程中,有同学反馈QueryRow方法应该返回数据库是否有这一条记录,最后讨论有了第二个艰难的决定,给QueryRow方法增加 has 的返回值,标识数据库是有一条记录的,各位已经使用的大佬,升级时注意修改代码,非常抱歉,非常抱歉,非常抱歉