一分钟上手, 让 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方法: ...
随机推荐
- 【BI】OLTP与OLAP的区别
概念 OLTP:联机事务处理(On-Line transaction Processing) OLAP:联机分析处理(On-Line Analytical Processing) (1)OLTP是传统 ...
- SUMIF
SUMIF(range,criteria,sum_range) Range:条件区域,用于条件判断的单元格区域. Criteria:求和条件,由数字.逻辑表达式等组成的判定条件.criteria 参数 ...
- java的配置方式简介
1,java的配置方式简介java的配置方式是为了代替使用xml配置方式,主要使用两个注解:@Configuration//通过该注解来表明该类是一个spring的配置,相当于一个xml文件@Comp ...
- OpenCV学习代码记录—— Snake轮廓
很久之前学习过一段时间的OpenCV,当时没有做什么笔记,但是代码都还在,这里把它贴出来做个记录. 代码放在码云上,地址在这里https://gitee.com/solym/OpenCVTest/tr ...
- linux写环境变量对字符转义
之前在配置oracle环境换了或者jdk环境,用脚本初始化配置,发现$JAVA_HOME被真实路径取代,这不操蛋吗,今天无意间发现echo -e可以转义特殊字符 得之兴业,岁在今朝! 对oracle ...
- ACM退役前2个月总结
这个时候是该好好地反省一下自己了!曾经的时候为了队伍能打出很多其它的题,我硬是看了ACM的非常多模块!也会了非常多的模板!可是如今我痛苦地发现比赛还是我一人单挑的局面!如今我也遇见了一个瓶颈了,那就是 ...
- 【PHP】Ajax跨域解决方案 、jsonp、cors
参考文章: 1.https://blog.csdn.net/u014727260/article/details/72793459 (后台java,实际上差不多) 2. 如何解决ajax跨域传输 数据 ...
- ios中封装九宫格的使用(二级导航)
效果图 一般用于导航功能 第一步下载http://pan.baidu.com/share/link?shareid=1824940819&uk=923776187 第二步 把下图内容放在你的x ...
- ios中UIWebview中加载本地文件
[super viewDidLoad]; webview=[[UIWebView alloc] initWithFrame:self.view.bounds]; [self.view addSubvi ...
- boost asio resolver
asio 中的resolver一般用于将host等信息转化为socket信息,类似于getaddrinfo() 以下代码 boost::asio::io_service io; tcp::resolv ...