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