package main 

import (
"fmt"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
) var DB *sqlx.DB type DbInfo struct {
Engine string
User string
Pass string
Ip string
Port string
Table string
} func init () { db1 := DbInfo{
"mysql",
"root",
"root",
"127.0.0.1",
"3306",
"test",
} database, err := sqlx.Open(db1.Engine, fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", db1.User, db1.Pass, db1.Ip, db1.Port, db1.Table)) if err != nil {
fmt.Println("mysql open failed, error:", err)
return
} DB = database
} func main () {
_, err := DB.Exec("insert into test (username, age) values (?, ?)", "lisi", "24") if err != nil {
fmt.Println("mysql exec failed, error:", err)
return
} }

  使用第三方的包 sqlx, mysql ;获取:

go get github.com/jmoiron/sqlx

  go get github.com/go-sql-driver/mysql

2.查询操作,更新操作

  

package main
import (
    "fmt"
    _ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
)
var DB *sqlx.DB
type Person struct {
    //对应数据库里面的字段名
    UserId int `db:"user_id"`
    Username string `db:"username"`
    Sex string       `db:"sex"` 
    Email string     `db:"email"`
}
func init () {
    database, err := sqlx.Open("mysql", "zhangjun:zhangjun123@tcp(127.0.0.1:3306)/test")
    if err != nil {
        fmt.Println("open mysql failed,error:", err)
        return
    }
    DB = database
}
func main () {
    var person []Person
    err := DB.Select(&person, "select user_id, username, sex, email from person where user_id = ?", 1)
    if err != nil {
        fmt.Println("select failed,error:", err)
        return
    }
    fmt.Println(person)
    //更新操作
    _, err = DB.Exec("update person set username = ? where user_id = ?", "lisi", 1)
    if err != nil {
        fmt.Println("update failed,error:", err)
        return
    }
}

  


  

最新文章

  1. C++ string
  2. nginx实现http反向代理+负载均衡
  3. 设计模式之Interator模式(1)
  4. java int转byte和long转byte
  5. ASP.NET Web API 帮助(help)页面上没有 Test API按钮的解决方法
  6. ArcGIS.Server.9.3和ArcGIS API for JavaScript地图实现Toorbar功能(四)
  7. OpenStack Havana 部署在Ubuntu 12.04 Server 【OVS+GRE】(三)——计算节点的安装
  8. 【转】Android UI系列-----时间、日期、Toasts和进度条Dialog
  9. Spring中继承配置的注入方法
  10. vector 的用法(c++)
  11. Hadoop2.6.1中的Reducer实现
  12. 如何成为一个javascript高手【转载】
  13. SSM-SpringMVC-23:SpringMVC中初探异常解析器
  14. Oracle数据库自带表或者视图
  15. 解决eclipse的自动换行问题。
  16. 阿里云安装mysql后查看不到初始密码的解决办法
  17. Apktool(2)——使用前必须知道的apk知识
  18. php 命令行参数
  19. DJango之视图函数
  20. 收集一些有意思的ASCII程序注释(持续收集中,希望大家踊跃贡献)

热门文章

  1. MongoDB---如何避免插入重复数据(pymongo)
  2. 洛谷P4380 [USACO18OPEN]Multiplayer Moo
  3. GoCN每日新闻(2019-10-26)
  4. python中的base64加密解密
  5. python 得到列表的第二大的元素
  6. uiautomator2使用教程
  7. vim 注释颜色
  8. ICEM-四分之一带孔圆板
  9. 解决WordPress访问中文标签出现404的几个方法
  10. 刷题记录:[DDCTF 2019]homebrew event loop