广告
返回顶部
首页 > 资讯 > 后端开发 > GO >golang与pgsql交互的实现
  • 258
分享到

golang与pgsql交互的实现

golangpgsql交互golangpgsql 2023-03-19 17:03:54 258人浏览 独家记忆
摘要

目录1、目的2、代码架构3、代码展示1、目的 通过读取配置文件获取pgsql用户名和密码及数据库和数据表,从而读取所需字段值。 2、代码架构 config/config.Go:读取

1、目的

通过读取配置文件获取pgsql用户名和密码及数据库和数据表,从而读取所需字段值。

2、代码架构

  • config/config.Go:读取配置文件信息
  • config/config.JSON:配置文件
  • handle/handle.go:与pgsql数据库交互,获取所需数据
  • main.go:主函数

3、代码展示

config.go

package config
 
import (
    "io/ioutil"
    "os"
    "fmt"
    "encoding/json"
)
 
type Pgsql struct {
    //Pgsql账号
    Username string `json:"username"`
    //Pgsql密码
    PassWord string `json:"password"`
    //Pgsql地址
    Address string `json:"address"`
    //Pgsql端口
    Port int `json:"port"`
    //数据库名称
    Database string `json:"database"`
    //表名称
    Table string `json:"table"`
    //账号字段名称
    AccountField string `json:"accountField"`
    //密码字段名称
    PwdField string `json:"pwdField"`
}
 
 
//配置文件路径
var ConfigPath string = "config/config.json"
 
// pgsql配置信息缓存
var PgsqlData *Pgsql
 
 
func Init() {
    //初始化配置对象
    PgsqlData = new(Pgsql)
    //读取配置文件
    file, err := os.Open(ConfigPath)
    if err != nil {
        fmt.Println("config path:", err)
        os.Exit(1)
    }
    bytes, err := ioutil.ReadAll(file)
    if err != nil {
        fmt.Println("config file:", err)
        os.Exit(1)
    }
    //使用json转换至config对象中
    err = json.Unmarshal(bytes, PgsqlData)
    if err != nil {
        fmt.Println("json unmarshal:", err)
        os.Exit(1)
    }
}

config.json

{
    "username": "***",
    "password": "*********",
    "address": "localhost",
    "port": 5432,
    "database": "***",
    "table": "***",
    "accountField": "***",
    "pwdField": "***"
}

handle.go

package handle
 
import (
    "database/sql"
    "errors"
    "fmt"
    "pgsql/config"
    _ "GitHub.com/lib/pq"
)
 
func Executl() error {
    config.Init()
    if config.PgsqlData != nil {
        //创建Mysql连接
        db, err := sql.Open("postgres", fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", config.PgsqlData.Address, config.PgsqlData.Port, config.PgsqlData.Username, config.PgsqlData.Password, config.PgsqlData.Database))
        if err != nil {
            return err
        }
        defer db.Close()
        str := fmt.Sprintf("select %s,%s from %s where NAME='%s'", config.PgsqlData.AccountField, config.PgsqlData.PwdField, config.PgsqlData.Table, config.PgsqlData.Username)
        rows := db.QueryRow(str)
        var name *sql.NullString
        var pwd *sql.NullString
        err = rows.Scan(&name, &pwd)
        if err != nil {
            return err
        }
        if name.String == "" || pwd.String == "" {
            return errors.New("data is null")
        }
        fmt.Println("name:",name.String)
        fmt.Println("passwd:",pwd.String)
        return nil
    }
    return errors.New("open config file failed")
}

main.go

package main
 
import (
    "pgsql/handle"
    "os"
)
 
func main() {
    err := handle.Executl()
    if err != nil {
        os.Exit(1)
    }
}

到此这篇关于golang与pgsql交互的实现的文章就介绍到这了,更多相关golang pgsql交互内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: golang与pgsql交互的实现

本文链接: https://www.lsjlt.com/news/200317.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • golang与pgsql交互的实现
    目录1、目的2、代码架构3、代码展示1、目的 通过读取配置文件获取pgsql用户名和密码及数据库和数据表,从而读取所需字段值。 2、代码架构 config/config.go:读取...
    99+
    2023-03-19
    golang pgsql交互 golang pgsql
  • golang与pgsql交互如何实现
    本文小编为大家详细介绍“golang与pgsql交互如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang与pgsql交互如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、目的通过读取配置文...
    99+
    2023-07-05
  • QT与javascript交互数据的实现
    一、数据从QT流向JS 1、QT调用JS的函数,JS通过形参获得QT的值 2、JS调用QT的函数,QT函数的返回值进入JS 二、数据从JS流向QT 1、JS调用QT的函数,QT通过形...
    99+
    2022-11-12
  • Django与数据库交互的实现
    目录1 如何创建项目数据库2 进行数据库与django的交互3 添加数据4 查找数据4 更新数据1 如何创建项目数据库 首先,在虚拟机数据库中建立一个与项目同名的数据库,方便管理。 ...
    99+
    2022-11-12
  • QML与C++交互的实现步骤
    目录前言第一个例子:QML中创建C++对象第二个例子:C++中加载QML对象参考前言 文档如是说,QML旨在通过C ++代码轻松扩展。Qt QML模块中的类使QML对象能够从C ++...
    99+
    2022-11-13
  • JavaScript与HTML怎么实现交互
    这篇文章主要介绍“JavaScript与HTML怎么实现交互”,在日常操作中,相信很多人在JavaScript与HTML怎么实现交互问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2022-10-19
  • PHP与Javascript怎么实现交互
    PHP与Javascript怎么实现交互,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。PHP与Javascript交互的方法:通过Cookie交互。一共是三个文件,分别为:...
    99+
    2023-06-17
  • golang前后端分离如何实现交互
    在 Golang 中实现前后端分离的交互可以通过以下几种方式:1. RESTful API:将后端独立的服务,提供 RESTful ...
    99+
    2023-10-20
    golang
  • Django与图表的数据交互的实现
    目录环境相关实现思路(需要理解的请结合代码来看)代码:成果展示参考博客在Django开发过程中,遇到了需要图表进行数据可视化的需要。因此查询了相关文档,并记录下如何实现与图表的数据交...
    99+
    2022-11-11
  • Android WebView上实现JavaScript与Java交互
    其实webview加载资源的速度并不慢,但是如果资源多了,当然就很慢。图片、css 、js 、html这些资源每个大概需要10-200ms ,一般都是30ms就ok了。不过we...
    99+
    2022-06-06
    webview JavaScript Android
  • PHP底层与操作系统的交互与实现
    PHP底层与操作系统的交互与实现在Web开发中,PHP被广泛应用于服务器端的编程语言,它具有强大的功能和易用性。PHP底层与操作系统的交互与实现是PHP开发者必须掌握的知识之一。本文将介绍PHP底层与操作系统的交互方法,并提供一些具体的代码...
    99+
    2023-11-08
    操作系统 PHP底层 交互实现
  • Android中WebView与Js交互的实现方法
    获取WebView对象 调用WebView对象的getSettings()方法,获取WebSettings对象 调用WebSettings对象的setJavaScriptEna...
    99+
    2022-06-06
    方法 webview js Android
  • PHP与Web页面交互例子的实现
    目录1. HTML 部分2. PHP 部分3. 执行结果如下所示1. HTML 部分 1.1 新建 10-29.html 文件 1.2 引用 PHP 文件(10-29.PHP) &...
    99+
    2022-11-12
  • Python与数据库的交互怎么实现
    本篇内容介绍了“Python与数据库的交互怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MongoDB安装模块pip install...
    99+
    2023-06-22
  • QT与javascript交互数据如何实现
    这篇文章给大家分享的是有关QT与javascript交互数据如何实现的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、数据从QT流向JS1、QT调用JS的函数,JS通过形参获得QT的值2、JS调用QT的函数,QT...
    99+
    2023-06-15
  • Android使用Messenger实现service与activity交互
    service与activity交互的方式有多种,这里说说使用Messenger来实现两者之间的交互。 Service程序: public class MessengerSe...
    99+
    2022-06-06
    messenger service activity Android
  • AndroidView与Compose框架交互实现介绍
    目录1、在ComposeUI中加载AndroidView控件2、在AndroidView中加载ComposeUI3、LiveData数据转换成State数据1、在ComposeUI中...
    99+
    2022-11-13
  • Flutter webview与网页通讯交互实现
    目录前言预览具体实现flutter中使用ds_bridge网页端使用dsbridge_flutter总结前言 在app开发中我们有JSBridge来实现app和网页端通讯,现参考JS...
    99+
    2022-11-13
  • 如何实现Flex与浏览器交互
    本篇文章为大家展示了如何实现Flex与浏览器交互,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。总结Flex与浏览器交互在用Flex做Web应用时为了扩展应用程序功能,势必会更多的同浏览器进行交互,这...
    99+
    2023-06-17
  • PHP学习之实现PHP与JavaScript的交互(二)
    PHP与JavaScript交互的详细介绍 了解JavaScript什么是JavaScriptJavaScript的功能 JavaScript语言基础JavaScript数据类型JavaS...
    99+
    2023-09-16
    javascript php 交互 前端 html
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作