最近开源了gosql 一款golang style语法的golang orm库.
优雅的语法,支持批量插入,轻松嵌套条件,处理各种复杂的查询sql,诸如: and 和or组合
全语法支持: for update锁,is null, exists 子查询等基本上所有sql语法
风格如下:
user := &UserModel{}
err := db.Fetch(user,
gosql.Columns("id","name"),
gosql.Where("id", 1),
gosql.Where("[like]name", "j%")
gosql.OrWhere(func(s *Clause) {
s.Where("[>=]score", "90")
s.Where("[<=]age", "100")
}),
GroupBy("type"),
OrderBy("score DESC"),
)
特点
- Golang-style SQL builder go语言风格sql生成
- Unlimited nesting query 查询条件无限嵌套
- Reading and Writing Separation 读写分离
- Delay connection creation 延迟创建连接
- ORM maping to sturct ORM映射结构体
- Transactions 事务支持
- Versatile 功能多样的
- Clean Code 简洁的代码
- Bulk Insert 支持批量插入
仓库地址:
https://github.com/rushteam/gosql
有疑问加站长微信联系(非本文作者)