ORM
Object Relation Mapping(关系对象映射)
把对象模型表示的对象映射到基于S Q L 的关系模型数据库结构中
在具体的操作实体对象的时候,不需要直接与复杂的 SQL语句打交道,只需简单的操作实体对象的属性和方法
Gorm是使用go语言开发的ORM库
地址: github.com/jinzhu/gorm
驱动:github.com/go-sql-driver/mysql
导入:github.com/jinzhu/gorm/dialects/mysql
连接设置
username:password@protocol(host:port)/dbname?charset=utf8mb4&loc=Asia%2FShanghai
为处理Time类型若设置loc为Local, 需要设置parseTime=true
连接数据库
package main
import (
"fmt"
_ "github.com/jinzhu/gorm/dialects/mysql"
"github.com/jinzhu/gorm"
)
var (
//变量db 通过init直接初始化
db *gorm.DB
err error
dbinfo string
)
const (
//定义db的连接信息
dbuser string = "root"
dbpassword = "123456"
dbip = "xxxx"
dbport = "3306"
database = "users"
)
func init() {
//拼接数据库连接信息
dbinfo = fmt.Sprintf("%s:%s@(%s:%s)/%s?charset=utf8&parseTime=True&loc=Local",dbuser,dbpassword,dbip,dbport,database)
//初始化db
db,err = gorm.Open("mysql", dbinfo)
if err != nil {
fmt.Println("mysql打开失败",err)
return
}
}
func main() {
fmt.Pringln(*db)
}