go mysql

package domysql

/**
* mysql 数据库操作封装包
 */
import (
    "fmt"

    _ "github.com/go-sql-driver/mysql"
    "github.com/jmoiron/sqlx"
)

// 定义数据表结构体
type User struct {
    Id       int
    Name     string
    Password string
}

var Db *sqlx.DB

func init() {
    database, err := sqlx.Open("mysql", "root:leo@0362@tcp(127.0.0.1:3306)/db_user")
    if err != nil {
        fmt.Println("open mysql faild,", err)
        return
    }
    Db = database

}
func Close() {
    Db.Close()
}

//删除数据
func Delete() bool {
    res, err := Db.Exec("delete from user where id=?", 6)
    if err != nil {
        fmt.Println("update failed", err)
    }
    row, err := res.RowsAffected()
    if err != nil {
        fmt.Println("failed,", err)
    }
    fmt.Println("do rows", row)
    return true
}

//修改数据
func Updates() bool {
    res, err := Db.Exec("update user set name=?,password=? where id>?", "stu0003", "45687", 6)
    if err != nil {
        fmt.Println("update failed", err)
    }
    row, err := res.RowsAffected()
    if err != nil {
        fmt.Println("failed,", err)
    }
    fmt.Println("do rows", row)
    return true
}

//插入数据
func Inserts() bool {
    ret, err := Db.Exec("insert into user (name,password) values (?,?)", "李华", "123456")
    if err != nil {
        fmt.Println("exec failed, ", err)
    }
    id, err := ret.LastInsertId()
    if err != nil {
        fmt.Println("exce failed ", err)
    }
    fmt.Println("this is id,", id)
    return true
}

//查询数据
func Selects() []User {
    fmt.Println("this is select do")
    var user []User
    err := Db.Select(&user, "select * from user where id>?", 1)
    if err != nil {
        fmt.Println("exec faild", err)
    }

    return user
}

 

posted @ 2022-06-24 14:28  leo0362  阅读(46)  评论(0)    收藏  举报