gorose-最风骚的go orm,链式操作, 开箱即用, 一分钟上手, 让golang操作数据库成为一种享受

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

风骚一 : 开箱即用, 一分钟上手

db := gorose.Open("xxxxxx这里是数据库配置")
// 延迟关闭数据库
defer db.Close()

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
result := db.Table("user").Get()
jsonStr := db.JsonEncode(result)

或者

result := db.Table("user").Get()
jsonStr := utils.JsonEncode(result) // 这里的utils是github.com/gohouse/utils工具包, 可以在任何地方调用

风骚五 : 一键处理事务, 全自动 启动/回滚/提交 事务, 我只需专注于代码本身

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"])
    }
})

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

更多风骚之处


powered by fizzday(星期八)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值