Xorm轻松学习
个人博客站点:
简书: 😽 猫轻王 https://www.jianshu.com/u/6cce817646be
掘金: 😽 猫轻王 https://juejin.cn/user/1640918680347453
CSDN: 😽 猫轻王 https://blog.csdn.net/moer0
个人项目主页:https://github.com/moercat
Xorm所有操作均需要事先创建并配置 ORM 引擎才可以进行。XORM 支持两种 ORM 引擎,即 Engine 引擎和 Engine Group 引擎。一个 Engine 引擎用于对单个数据库进行操作,一个 Engine Group 引擎用于对读写分离的数据库或者负载均衡的数据库进行操作。
代码如下(示例):
package xorm_test
import (
_ "github.com/go-sql-driver/mysql"
"xorm.io/xorm"
)
var Engine *xorm.Engine
func init() {
var err error
Engine, err = xorm.NewEngine("mysql",
"root:esyrJTcjfFEBheKm@tcp(120.25.125.171:3306)/mo?charset=utf8")
if err != nil {
panic(err)
return
}
err = Engine.Ping()
if err != nil {
panic(err)
return
}
}
你也可以用 NewEngineWithParams, NewEngineWithDB 和 NewEngineWithDialectAndDB 来创建引擎。
创建完成 engine 之后,并没有立即连接数据库,此时可以通过 engine.Ping() 或者 engine.PingContext(),
我们通过 xorm.NewEngine 将引擎放入可供外部调用的对象Engine ,通过init 函数,使得当使用到该包时则会进行数据库的初始化,简便我们在工作中的操作繁琐度。
至于为什么用panic来接受错误,而非忽略或使用recover来接收错误是因为数据库的初始化往往在程序启动时,而数据库兼顾着我们系统的极大多数数据存储,那么程序启动时就已发现程序的错误,就可以直接终止程度。从而告知开发者存在错误,而非业务错误等需要进行捕获,防止程序中断。
Access denied for user ‘root’@‘localhost’ (using password: YES)
学习orm框架也就是学习数据库的过程,每一个操作每一个需求都是数据库的需求,我们学习Xorm的过程中也在不断学习着数据库的相关操作。熟练掌握orm框架的时候,自然也就熟练掌握了数据库的操作,增删改查也是不变的真理,但是我们需要不断提高自己,避免沦为 “crud boy”。
希望这个博客能对你有所益处。我是轻王,我为自己代言。