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
}