您的位置 首页 golang

最风骚的 go orm, 一分钟上手,让Golang操作数据库成为一种享受

gorose, 最风骚的 go orm, 拥有链式操作, 开箱即用, 一分钟上手等八大风骚, 让 golang 操作数据库成为一种享受, 妈妈再也看不到我处理数据的痛苦了, 下面就来为大家一一讲解 gorose 的风情。

风骚一

开箱即用, 一分钟上手

gorose. Open ("xxxxxx这里是配置文件中的数据库配置")var db gorose.Database
db.Query("select * from user") // 原生sql执行, 返回格式化后的结果 

风骚二

链式操作, 尽显妩媚之姿

db.Table("user").First() 

get sql : select * from user where id=1

风骚三

直接查询想要的字段, 无需预先声明字段类型

db.Table("user").Fields("id as uid,name").Where("id", ">", 1).Get() 

风骚四

JSON 返回自由切换

  • 指定 json

gorose.JsonEncode(true)
db.Table("user").First() 
  • 取消 json 返回

gorose.JsonEncode(false)
db.Table("user").First() 

或者

db.JsonEncode(false).Table("user").First() 

风骚五

一键事务, 全自动开启/回滚/提交事务, 我们只需专注于代码本身

db. Transaction (func(){ db.Table("user").Data(map[string]interface{}{"name":"fizz"}).Insert() db.Table("user").Data(map[string]interface{}{"name":"fizz2"}).Where("id",1).Update()
}) 

风骚六

一键切换数据库连接, 自由畅想在任何数据库之间

db. Connect ("mysql2").Table("goods").First() 

风骚七

大量数据自动分块处理, 我们还是只需要专注于代码本身 user 表中的所有数据, 我每次取出 100 条, 然后处理完, 自动取下一个 100 条, 继续处理, 如此反复, 直到处理完指定条件的数据

db.Table("user").Where("id","<",10000).Chunk(100, func(data []map[string]interface{}){ for _, item := range data { fmt.Println(item["name"]) }
}) 

风骚八

无感知 读写分离 , 依然只专注于代码本身, 只需要在配置中设置读库和写库即可

请查看 GitHub :

文章来源:智云一二三科技

文章标题:最风骚的 go orm, 一分钟上手,让Golang操作数据库成为一种享受

文章地址:https://www.zhihuclub.com/90443.shtml

关于作者: 智云科技

热门文章

网站地图