最近開源了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