我正在寻找一种可靠的解决方案,以从Go连接到MySQL数据库。我已经看到了一些库,但是很难确定完整性和当前维护的不同状态。我没有复杂的需求,但是我想知道人们所依赖的是什么,或者连接到MySQL的最标准的解决方案是什么。
有一些驱动程序可用,但您应仅考虑将实现数据库/ sql API的驱动程序视为
两个快速可靠的驱动程序可用于MySQL:
我在生产中都使用了它们,程序运行了几个月,连接数以百万计没有失败。
其他SQL数据库驱动程序在go-wiki上列出。
使用MyMySQL时导入:
import (
"database/sql"
_ "github.com/ziutek/mymysql/godrv"
)
使用Go-MySQL-Driver导入:
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
使用MyMySQL连接和关闭:
con, err := sql.Open("mymysql", database+"/"+user+"/"+password)
defer con.Close()
// here you can use the connection, it will be closed when function returns
使用Go-MySQL-Driver连接和关闭:
con, err := sql.Open("mysql", store.user+":"+store.password+"@/"+store.database)
defer con.Close()
选择一行:
row := con.QueryRow("select mdpr, x, y, z from sometable where id=?", id)
cb := new(SomeThing)
err := row.Scan(&cb.Mdpr, &cb.X, &cb.Y, &cb.Z)
选择多行并使用结果构建一个数组:
rows, err := con.Query("select a, b from item where p1=? and p2=?", p1, p2)
if err != nil { /* error handling */}
items := make([]*SomeStruct, 0, 10)
var ida, idb uint
for rows.Next() {
err = rows.Scan(&ida, &idb)
if err != nil { /* error handling */}
items = append(items, &SomeStruct{ida, idb})
}
插 :
_, err = con.Exec("insert into tbl (id, mdpr, isok) values (?, ?, 1)", id, mdpr)
您会看到在Go中使用MySQL是一种令人愉快的体验:我 从来没有
遇到问题,我的服务器运行了数月之久没有出现错误或泄漏。大多数函数仅采用可变数量的参数这一事实减轻了一项任务,这在许多语言中都是乏味的。
请注意,如果将来需要使用另一个MySQL驱动程序,则只需要在一个go文件中更改两行:执行导入的行和打开连接的行。
问题内容: 由于标题已经声明不赞成使用JNLP连接,Jenkins还提供了一条消息和一个超链接 https://zh.wikipedia.org/wiki/Java_Web_Start#已弃用 因此,现在将WindowsSlave附加到Jenkins的推荐方法是什么,在https://jenkins.io上似乎没有关于该主题的真正好的指南。 问题答案: 有一个开源替代OpenWebStart这是基
问题内容: 我在中有一个列表对象。长按一个项目时,我要显示一个对话框,其中包含单击的项目中的数据。 所述使用数据的每个项目的结合和我能够显示用Log长按当从所选择的项目数据。 但是,当尝试显示对话框时,您需要转到,建议不要在对象中使用。 那么如何显示对话框? 谢谢,Ove 问题答案: 从概念上讲,ViewModel使我误认为是启动Dialog的错误位置。为了更简洁地执行此操作,我将把Recycle
来自库伯内特斯文档(从Pod访问API): 在pod中定位apiserver的推荐方法是使用kubernetes DNS名称,该名称解析为一个服务IP,该IP将被路由到一个apiserver。 但是,当我在OpenShift pod的shell中时,这个“kubernetes”dns名称似乎并不存在。由于 Kubernetes 在下面运行,我希望它默认存在,但我错了吗?这是使用OpenShift
我有一个连接到mongoDB地图集的Spring启动应用程序。一切都在本地工作。 我现在想将此发布到pivotal cloud foundry。 在mongodb atlas中,我需要打开防火墙并允许某些ip号码。我应该如何配置mongodb atlas以最安全的方式连接到pcf? cloud foundry正在覆盖我的连接URL,以指向localhost:27017,而不是我的atlas群集。连
问题内容: 我有三个非常相似的控制器。我想要一个控制器,这三个控制器可以扩展并共享其功能。 问题答案: 也许 您 不扩展控制器,但是可以扩展控制器或将单个控制器混合为多个控制器。 创建父控制器后,其中的逻辑也将执行。有关更多信息,请参见$ controller(),但仅需要传递值。所有其他值将正常注入。 @mwarren ,Angular依赖注入自动解决了您的顾虑。您所需要做的就是注入$ scop
问题内容: 现在我正在使用类似 我需要您的意见以最好/最有效的方式对密码进行加密,当然,加密的密码应受PHP 7.xx支持,并且也应可解密,因为我的客户确实希望选择“恢复”密码而不生成新密码一。 问题答案: 最佳做法是对密码进行哈希处理,以使密码不可解密。这使可能已获得对数据库或文件的访问权限的攻击者的处境变得更加困难。 如果必须加密数据并使其可解密,请访问https://paragonie.co