后来知道 没必要每次操作数据库都open的 只需要连接一次即可
那么封装遇到难题了。
如吧下面代码 放到一个 Mysql文件夹里 package Mysql
然后 引入到需要操作数据库的地方 直接
~~~
Mysql.db.Query("select * from user")
~~~
的方式执行查询条件 省去了open 但是我不知道如何调用, 希望大牛们给个代码
~~~
var db *sql.DB
func init() {
db, _ = sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/test?charset=utf8")
db.SetMaxOpenConns(2000)
db.SetMaxIdleConns(1000)
db.Ping()
}
~~~
<a href="/user/channel" title="@channel">@channel</a> 哦可以了 可能缓存问题 可以点出来了
对了问下 我执行了 数据查询出来了,但是在次刷新就不行了,但是当我删除了 最后一句close() 就可以一直刷新了。难道用完了不能关闭的?
~~~
rows, err := Mysql.DB.Query("select uid,pass from user_list where user ='root123'")
if err != nil {
fmt.Fprintln(w, err)
}
for rows.Next() {
var uid int
var pass string
err = rows.Scan(&uid, &pass)
if err != nil {
fmt.Fprintln(w, err)
}
fmt.Fprintln(w, uid)
fmt.Fprintln(w, pass)
}
Mysql.DB.Close()
~~~
#4
更多评论
<a href="/user/channel" title="@channel">@channel</a> 这个我也测试过了。点不出来,听说要封装个函数。才能调用到db
#2