Go数据库操作:1、xorm包-基础配置与映射

参考:xorm操作指南,这边有一些配置或者其他的数据库配置(主要是mysql)会省去,具体查看该文档。


1、特性

  1. 支持Struct和数据库表之间的灵活映射,并支持自动同步
  2. 事务支持,支持嵌套事务(支持类JAVA Spring的事务传播机制)
  3. 同时支持原始SQL语句和ORM操作的混合执行
  4. 使用连写来简化调用
  5. 支持使用Id, In, Where, Limit, Join, Having, Table, Sql, Cols等函数和结构体等方式作为条件
  6. 支持级联加载Struct
  7. 支持类ibatis方式配置SQL语句(支持xml配置文件、json配置文件、xsql配置文件,支持pongo2、jet、html/template模板和自定义实现配置多种方式)
  8. 支持动态SQL功能
  9. 支持一次批量混合执行多个CRUD操作,并返回多个结果集
  10. 支持数据库查询结果直接返回Json字符串和xml字符串
  11. 支持SqlMap配置文件和SqlTemplate模板密文存储和解析
  12. 支持缓存
  13. 支持主从数据库(Master/Slave)数据库读写分离
  14. 支持根据数据库自动生成xorm的结构体
  15. 支持记录版本(即乐观锁)
  16. 支持查询结果集导出csv、tsv、xml、json、xlsx、yaml、html功能
  17. 支持SQL Builder github.com/go-xorm/builder

这些xorm的特性看下来,感觉和你在java中用mybatis或者hibernate还是比较类似的。主要开发比较关注的特性有下面这些(我觉得):

1 支持实体和表的属性映射、2 事务传播的支持,spring的事务传播的实现可以参考我的csdn文章、5 和mybatis之前的分页插件还有其他一些插件还是挺类似的 7 自己写sql,这个功能我觉得很强 14 这个有点类似hibernate的逆向工程


2、安装

      安装很简单,安装命令:go get -u github.com/xormplus/xorm



3、Orm引擎(包含配置)

      他这边有一个说明,感觉还是很有用的:

在xorm里面,可以同时存在多个Orm引擎,一个Orm引擎称为Engine,一个Engine一般只对应一个数据库。

感觉这个东西好处在于说我一个项目可能存在多个数据库,而不是传统的web架构,比如说现在在做的游戏,可能跨服和单区服的数据库不在同一个库,那么这个功能就派上用处了。就是不同的场景传入不同的数据引擎以达到操作不同数据库的目的。

1、创建(mysql为例)

      这边以连接mysql数据为例:

	
	import (
	    _ "github.com/go-sql-driver/mysql"
	    "github.com/xormplus/xorm"
	)
	
	var engine *xorm.Engine
	
	func main(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

了-凡

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值