go 数据库框架xorm 的使用

golang 连接mysql 的博客可以看我前面的文章。这片文章主要讲xorm,我试过golang 的orm 框架 有beego自带的数据库orm框架https://beego.me/docs/mvc/model/orm.md 有gorm 的数据框架 http://gorm.io/ 最后我选择了xorm数据orm框架官网地址:http://www.xorm.io/。 最喜欢xorm 的原因是xorm 能帮助我根据数据库结构生成我想要的 struct 。可以省很多时间。 我的一个在线音乐播放器中使用了beego +xorm https://github.com/china-muwenbo/goonlinemusic 需要的童鞋可以参考一下 界面有点丑。

xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便。xorm的目标并不是让你完全不去学习SQL,我们认为SQL并不会为ORM所替代,但是ORM将可以解决绝大部分的简单SQL需求。xorm支持两种风格的混用。 —————–官方的解释 单单使用sql,单单使用orm,在日常的工作中都不能很好的满足我们日常需求,两者结合才是最好的方式。

xorm的优点。

支持Struct和数据库表之间的灵活映射,并支持自动同步表结构

事务支持

支持原始SQL语句和ORM操作的混合执行

使用连写来简化调用

支持使用Id, In, Where, Limit, Join, Having, Table, Sql, Cols等函数和结构体等方式作为条件

支持级联加载Struct

支持LRU缓存(支持memory, memcache, leveldb, redis缓存Store) 和 Redis缓存

支持反转,即根据数据库自动生成xorm的结构体

支持事件

支持created, updated, deleted和version记录版本(即乐观锁)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏文渊之博

SQL Server中的锁的简单学习

简介     在SQL Server中,每一个查询都会找到最短路径实现自己的目标。如果数据库只接受一个连接一次只执行一个查询。那么查询当然是要多快好省的完成工作...

29350
来自专栏别先生

SQLyog图形化l数据库的操作和学习

1:首先SQLyog作为mysql的图形化操作工具,是一个收费的工具,但是在天朝大国,任何收费的软件都可以被破解,具体软件的安装不做多叙述,支持正版,毕竟作为一...

49950
来自专栏架构师之路

InnoDB并发如此高,原因竟然在这?

《InnoDB行锁,如何锁住一条不存在的记录?》埋了一个坑,没想到评论反响剧烈,大家都希望深挖下去。原计划写写InnoDB的锁结束这个case,既然呼声这么高,...

17630
来自专栏BigNerdCoding

SQLite 并发的四种处理方式

SQLite 是一款轻型的嵌入式数据库它占用资源非常的低,处理速度快,高效而且可靠。在嵌入式设备中,可能只需要几百 K 的内存就够了。因此在移动设备爆发时,它依...

1.2K70
来自专栏数据和云

升级迁移:利用DMU修改数据库字符集

何剑敏 Oracle ACS华南区售后团队,首席技术工程师 曾供职于中国联通信息计费部、卓望数码,系统支撑部首席DBA,负责中国移动全网梦网业务和移动应用商城数...

40290
来自专栏吴柯的运维笔记

部署Cacti监控平台实现网络监控

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。 Cacti是通过 snmpget来获取数据,使用 RRDtoo...

47880
来自专栏智能算法

必须掌握的Navicat for SQLite 所有功能

Navicat for SQLite是一套强大和全面的SQLite图形用户介面工具,提供完整的服务器管理功能。它配备了数据编辑、SQL查询和数据模型工具,并支持...

65250
来自专栏C/C++基础

ERROR 126 (HY000) at line 1: Incorrect key file for table '/tmp/#sql_7b09_0.MYI'; try to repair it

我在slelect一个数据量很大的merge表时,并同时将select结果集insert到另外一张表中,报了如下错误:

11020
来自专栏沈唁志

WordPress添加评论回复邮件提醒通知功能

19020
来自专栏「3306 Pai」社区

海豚 VS 大象 功能对比

MySQL为多线程架构后台有多个线程处理内部操作例如:刷脏、Undo purge、checkpoint等,整体上MySQL分为两层Server/存储引擎。存储引...

29230

扫码关注云+社区

领取腾讯云代金券