设计模式之 Database/SQL 与 GORM 实践:day2|青训营笔记

114 阅读1分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第2篇笔记

01.DataBase/Mysql

  • go连接mysql


package main



import (

   "database/sql"

   "fmt"

   _ "github.com/go-sql-driver/mysql"

)



type User struct {

   username int

   password string

}



func main() {

   db, _ := sql.Open("mysql", "root:@tcp(localhost:3306)/ygkjstudy")

   db.Ping()

   rows, _ := db.Query("select * from user ")

   var users []User

   for rows.Next() {

      var user User



      rows.Scan(&user.username, &user.password)



      users = append(users, user)



   }

   fmt.Println(users)

}

dataSourceName:"用户名:密码@连接方式/数据库名"

02.GORM简介

The fantastic ORM library for Golang aims to be developer friendly.

安装

go get -u gorm.io/gorm

go get -u gorm.io/driver/数据库类型(mysql)

连接mysql

package main



import (

        "gorm.io/driver/mysql"

        "gorm.io/gorm"

)



func main() {

        // 用户名:密码@tcp(ip:port)/数据库?charset=utf8mb4&parseTime=True&loc=Local

        dsn := "root:root123@tcp(127.0.0.1:3306)/test_gorm?charset=utf8mb4&parseTime=True&loc=Local"

        db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})

        if err != nil {

                panic(err)

        }

}