一分钟上手, 让 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 查看:https://github.com/gohouse/gorose
一分钟上手, 让 Golang 操作数据库成为一种享受的更多相关文章
- Yii框架操作数据库的几种方式与mysql_escape_string
一.Yii操作数据库的几种选择 1,PDO方式. $sql = "";//原生态sql语句 xx::model()->dbConnection->createComma ...
- Android开发之使用sqlite3工具操作数据库的两种方式
使用 sqlite3 工具操作数据库的两种方式 请尊重他人的劳动成果,转载请注明出处:Android开发之使用sqlite3工具操作数据库的两种方式 http://blog.csdn.net/feng ...
- golang操作文件的四种方法
golang追加内容到文件末尾 字数349 阅读54 评论0 喜欢2 golang读写文件,网上很多教程了但是今天有个需求,想要把内容追加写到文件末尾google了好久,没有查到研究了一会儿file库 ...
- C# 操作数据库的几种方式(数据库使用SQL SERVER2008)
一:通过常规 T-SQL 语句 (只写删除操作,其他同理) string strConn = ConfigurationManager.ConnectionStrings["SiteConn ...
- JDBC操作数据库的三种方式比较
JDBC(java Database Connectivity)java数据库连接,是一种用于执行上sql语句的javaAPI,可以为多种关系型数据库提供统一访问接口.我们项目中经常用到的MySQL. ...
- laravel记录笔记Laravel 连接数据库、操作数据库的三种方式
laravel中提供DB facade(原始查找).查询构造器.Eloquent ORM三种操作数据库方式 1.连接数据库 .env 数据库配置 DB_HOST=localhost dbhost DB ...
- Django框架操作数据库的两种方式
Django操作数据库的前提操作是成功连接数据库,详情见上篇:https://www.cnblogs.com/kristin/p/10791358.html Django查询数据库的方式一 from ...
- Golang操作数据库
基本概念 Open() – creates a DB Close() - closes the DB Query() - 查询 QueryRow() -查询行 Exec() -执行操作,update, ...
- mybatis框架-SqlSession会话操作数据库的两种方式
1.通过SqlSession实力来直接执行已经映射的sql语句 例如,查询整个用户表中的信息 在UserMapper.xml中编写sql语句 编写测试方法: 注意:这里使用的selectList方法: ...
随机推荐
- 【DB2】索引
1. 索引的概念 1.1 索引的优点 索引是表的一个或多个列的键值的有序列表,创建索引的原因有2个: 确保一个或多个列中值的唯一性 提高对表进行的查询的性能.当查询时想要以更快的速度找到所需要的列,或 ...
- Inno Setup入门(五)——添加readme文件
这个实现起来很简单,就是在[files]段中的某个预先作为readme的文件后面添加标志位isreadme: [setup] ;全局设置,本段必须 AppName=Test AppVerName=TE ...
- 转:Ogre源码剖析1
初学Ogre 貌似看到一些套路(ajohn) 1 Ogre的编译 获得最新的Ogre 1.71 和之前的Ogre比起来,除了sampler集成之外,最大的改变就是编译过程加入了Cmake,这个东西其 ...
- html模板实现银幕滚动效果<marquee>标签使用
该标签不是HTML3.2的一部分,并且只支持MSIE3以后内核,所以如果你使用非IE内核浏览器(如:Netscape)可能无法看到下面一些很有意思的效果该标签是个容器标签语法: <marquee ...
- Dubbo OPS工具——dubbo-admin & dubbo-monitor
1. 前言 今年八月份的时候,查看github仓库,Dubbo OPS还提供了三种工具用于Dubbo的监控运维: 九月份,伴随着Dubbo的全面快速的升级,现在仓库里Dubbo OPS下这三个工具已经 ...
- Fedora下使用minicom及USB串口线
一.minicom Fedora不像以前的RedHat,不能直接输入minicom回车,因为在目录/dev/下面没有modem这个子目录,而minicom的运行默认是有这个目录的,所以直接敲是不行的. ...
- mac系统下安装mysql 和phpmyadmin
用惯了在Windows上一个appserv或phpStudy压缩包搞定,要在MAC OSX 10.10上捣腾一个PHP开发环境还不大习惯.但自己亲自配一下环境还是有所收获的.众所周知OSX上自带了ap ...
- 【HTML】input标签中alt属性和title属性的比较
经常用到这两个属性,但是一直没有总结他们的区别.现在我对他们两个的用法做一下总结: 相同点:他们都会飘出一个小浮层,显示文本内容. 不同点: 1.alt只能是元素的属性,而title即可以是元素的属性 ...
- Swift 基础知识
前言 Swift 是一门强类型语言,全面支持 Unicode 编码. Swift 中的定义和实现是在同一个单元中的,通常一个 Swift 源代码单文件是以 .swift 结尾的. Swift 不需要单 ...
- Oracle 12C -- Unified Auditing Policy
1.审计策略是一组审计选项,用来审计数据库用户 2.创建审计策略需要被授予audit_admin角色(create audit policy ...) 3.可以在CDB.PDB级别创建创建审计策略 4 ...