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)
}