当前位置: 首页 > 面试题库 >

通过数据库行在Golang中创建地图

张博涛
2023-03-14
问题内容

基本上在执行查询后,我想获取结果行并产生一个[]map[string]interface{},但是我不知道如何使用API​​进行此操作,因为该Rows.Scan()函数需要特定数量的参数来匹配所请求的列数(可能是类型)以及正确获取数据。

再次,我想泛化此调用并进行任何查询,然后将其转换为[]map[string]interface{},其中映射包含映射到该行的值的列名。

这可能效率很低,我计划稍后更改结构,interface{}以使其成为单个数据点的结构。

我将如何仅使用数据库/ sql包,或者在必要时使用数据库/ sql / driver包来做到这一点?


问题答案:

看一下使用sqlx,它可以比标准数据库/ sql库更轻松地完成此任务:

places := []Place{}
err := db.Select(&places, "SELECT * FROM place ORDER BY telcode ASC")
if err != nil {
    fmt.Printf(err)
    return
}

你可以明显地替代[]Place{}[]map[string]interface{},但如果可能的话最好,如果你知道你的数据库的结构,使用结构。您不需要像在上那样进行任何类型的断言interface{}



 类似资料:
  • 在我的Spring项目中,我使用HiberNate将我的实体类导出到以前创建的数据库。但是这需要最终用户知道如何在数据库管理器系统中创建数据库(目前我正在使用Postgreql)。 是否有任何方法,只要给定安装postgreql的机器(以及第一次运行应用程序时提供的用户名和密码),HiberNate在服务器中创建一个新数据库(如果它不存在)?

  • 我们目前正在M2集群上复制一个名为DatabaseA的数据库。我们正试图通过使用MongoDB Atlas每隔24小时将数据库克隆到一个名为DatabaseB的新数据库中来创建集群的备份。 我们已经研究了以下链接: https://docs.atlas.mongodb.com/api/ 但我们不知道如何实现这一点。 我们应该如何处理这个问题?

  • 我有一个Spring Boot服务,我们有项目、贡献者以及项目和贡献者之间的多对多关系,这在JPA中被建模为3个独立的实体,项目、贡献者和项目贡献者。我正在使用Spring数据与Postgres中的DB进行交互。 在SQS的事件消耗之后,有时我们必须在DB中创建数千个项目及其贡献者。这些项目和贡献者由一些外部服务提供。 在我们必须创建1000个项目的场景中,每个项目平均有2个贡献者,我通过每个实体

  • 问题内容: 我正在使用http://code.google.com/p/sqlite- jdbc/wiki/Introduction中 的SQLite驱动程序。 上述文档中显示的示例显示了如何连接现有数据库。 在我的应用程序中,我需要创建一个SQLite数据库。怎么做?创建具有扩展名的文件是否足够?还有一个叫做的函数。如果可以,如何使用?我用谷歌搜索,没有人给出明确的答案。 问题答案: 如果文件不

  • 问题内容: 我正在使用Hibernate租约,并且每次用户登录时,我都将数据库更改为其用户名(SQLite)。可悲的是,有时数据库不存在,我需要创建它。 问题是我不知道如何在运行时在数据库中创建所有表。 通常,Hibernete为此创建数据库: 问题答案: 创建数据库之后,可以为此使用SchemaExport导出要在新创建的数据库中创建的实体。基本步骤如下。如何获取配置的属性并不重要。 Javad

  • 本文向大家介绍在SAP ABAP中创建数据库视图,包括了在SAP ABAP中创建数据库视图的使用技巧和注意事项,需要的朋友参考一下 在ABAP中,可以使用功能模块-DDIF_VIEW_PU T和DDIF_VIEW_ACTIVATE来激活视图。应该正确定义所有表参数,否则可能导致创建过程出错。 DDIF_VIEW_PUT-用于在ABAP词典中写入视图的接口。 您可以参考以下链接以了解更多详细信息-