日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

xorm框架连接mysql实现crud

發(fā)布時間:2024/3/24 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xorm框架连接mysql实现crud 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

準備工作:創(chuàng)建數(shù)據(jù)庫

Go語言連接mysql

安裝包

go get "gethub.com/go-sql-driver/mysql" go get "gethub.com/jmoiron/sqlx"

Exec增刪改

//連接數(shù)據(jù)庫信息 var (userName string = "root"passWord string = "123456"idAddress string = "127.0.0.1"port string = "3306"dbName string = "go_text"charset string = "utf8" )// 連接數(shù)據(jù)庫這里用*來保證連接的是同一個對象 //root:123456@tcp(127.0.0.1:3306)/go_text?charset=utf8 func connectMySQL() *sqlx.DB {dbstr := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s", userName, passWord, idAddress, port, dbName, charset)DB, err := sqlx.Open("mysql", dbstr)fmt.Println(err)ping(DB)return DB} func ping(DB *sqlx.DB) {err := DB.Ping()if err != nil {fmt.Println("ping failed")} else {fmt.Println("ping success")} } func textExec(mysqlDB *sqlx.DB) {//Exec 指行sql語句insertSQL := "insert into user(userid,username,password,avatar,create_time,update_time)values(?,?,?,?,?,?)"result, err := mysqlDB.Exec(insertSQL, 10000, "周南", "123456", "ks.png", "2022-11-11 11:11:11", "2022-11-11 11:11:11")if err != nil {fmt.Println("數(shù)據(jù)插入失敗", err)return}id, _ := result.LastInsertId()fmt.Println(id)//修改updateSQL := "update user set username='打阿偉'where id =1"result2, err := mysqlDB.Exec(updateSQL)rowNum, _ := result2.RowsAffected() //受到印象的行數(shù)fmt.Println("更新成功,affected rows", rowNum)//刪除deleteSQL := "delete from user where id =2"result3, err := mysqlDB.Exec(deleteSQL)rowNum1, _ := result3.RowsAffected() //受到印象的行數(shù)fmt.Println("刪除成功,affected rows", rowNum1) }

查詢

Query查詢

unc textQuery(mysqlDB *sqlx.DB) {querySql := "select *from user"rows, err := mysqlDB.Query(querySql)if err != nil {fmt.Println("數(shù)據(jù)查詢失敗", err)return}fmt.Println(rows)//返回一個結(jié)果集rows//next來獲取結(jié)果//要關閉結(jié)果集for rows.Next() {var id, userid intvar username, password, avatar, create_time, update_time stringrows.Scan(&id, &userid, &username, &password, &avatar, &create_time, &update_time)fmt.Println(id, userid, username, password, avatar, create_time, update_time)}rows.Close() }

Get和Select查詢

mysqlDB := connectMySQL()defer mysqlDB.Close()type user struct {Id int `db:"id"`UserId int `db:"userid"`UserName string `db:"username"`Password string `db:"password"`Avatar string `db:"avatar"`CreateTime string `db:"create_time"`UpdateTime string `db:"update_time"`}userData := new(user)mysqlDB.Get(userData, "select * from user where id =1")fmt.Println(*userData)var userSlice []usererr := mysqlDB.Select(&userSlice, "select*from user")if err != nil {fmt.Println(err)}for i := range userSlice {fmt.Println(userSlice[i])}}

總結(jié)

以上是生活随笔為你收集整理的xorm框架连接mysql实现crud的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。