1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| # hello_work/tmysql/operateMsql.go package tmysql
import ( "fmt"
_ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" )
type Class1 struct { Id int `db:"id"` Name string `db:"name"` Sex *string `db:"sex"`
}
var Db *sqlx.DB
func InitDb() { database, err := sqlx.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/test") if err != nil { fmt.Println("connect mysql err", err) return } Db = database }
func Select() {
var class1 []Class1 err := Db.Select(&class1, "select id,name,sex from class") if err != nil { fmt.Println("select error", err) return } fmt.Println("class succ", class1) for _, v := range class1 { fmt.Println(v.Id) fmt.Println(v.Name) if v.Sex != nil { fmt.Println(*v.Sex)
} } }
func Insert() { r, err := Db.Exec("insert into class(name) values(?)", "三年级一班") if err != nil { fmt.Println(err) return } id, err := r.LastInsertId() if err != nil { fmt.Print("exec failed", err) return } fmt.Println("insert success", id) }
func Update() { res, err := Db.Exec("update class set name=? where id=?", "三年级二班", 9) if err != nil { fmt.Println(err) return } row, err := res.RowsAffected() if err != nil { fmt.Println("row failed, error", err) } fmt.Println("update success:", row) }
func Delete() { res, err := Db.Exec("delete from class where id=?", 10) if err != nil { fmt.Println(err) return } row, err := res.RowsAffected() if err != nil { fmt.Println("row failed, error", err) } fmt.Println("detele success:", row)
}
|