golang获取数据表转换为json通用方法

package main

import (
    "database/sql"
    "fmt"
    "log"
    "net/http"
    "time"

    _ "github.com/go-sql-driver/mysql"
)
import "strings"

func main() {
    http.HandleFunc("/getuser", getuser)
    s := &http.Server{
        Addr:           ":7080",
        ReadTimeout:    30 * time.Second,
        WriteTimeout:   30 * time.Second,
        MaxHeaderBytes: 1 << 20,
    }
    log.Fatal(s.ListenAndServe())
}

func getuser(w http.ResponseWriter, r *http.Request) {

    w.Write([]byte(getuser_json()))
}

func getuser_json() string {
    db, err := sql.Open("mysql", "root:[email protected](localhost:3306)/jeecg?charset=utf8")
    if err != nil {
        panic(err.Error())
    }
    defer db.Close()

    rows, err := db.Query("select * from t_s_user")
    if err != nil {
        panic(err.Error())
    }

    columns, err := rows.Columns()
    if err != nil {
        panic(err.Error())
    }

    values := make([]sql.RawBytes, len(columns))

    scanArgs := make([]interface{}, len(values))
for i := range values {
        scanArgs[i] = &values[i]
    }

    list := "["

    for rows.Next() {
        err = rows.Scan(scanArgs...)
        if err != nil {
            fmt.Println("log:", err)
            panic(err.Error())
        }

        row := "{"
        var value string
        for i, col := range values {
            if col == nil {
                value = "NULL"
            } else {
                value = string(col)
            }

            columName := strings.ToLower(columns[i])

            cell := fmt.Sprintf(`"%v":"%v"`, columName, value)
            row = row + cell + ","
        }
        row = row[0 : len(row)-1]
        row += "}"
        list = list + row + ","

    }
    list = list[0 : len(list)-1]
    list += "]"
    fmt.Println(list)
    return list
}

调用url : http://localhost:7080/getuser

时间: 2024-08-05 20:29:40

golang获取数据表转换为json通用方法的相关文章

PHP mysqli获取数据表以及表结构

<?php$mysqli = new mysqli('localhost','root','','le');$result = $mysqli->query('SHOW TABLES');//执行查询语句//输出此数据库中表结构$tables = array();while($arr = $result->fetch_assoc()){ //编辑查询结果 $tables[] = $arr;}echo '<br/>';//通过字段名获取数据表结构$result = $mysql

MySql 获取数据表中随机一条数据

通过sql语句获取数据表中的随意一条数据 -- rand() 获取0到1之间的随机浮点数 -- ((select max(id) from test) - (select min(id) from test)) * rand() 获取到随机数 -- + (select min(id) from test) 保证id为 最小ID与最大ID之间的数 select * from test where id >= ((select max(id) from test) - (select min(id)

获取数据表中列的描述值

原文:获取数据表中列的描述值 前面有写过<MS SQL为字段添加说明>https://www.cnblogs.com/insus/p/12106589.html 现如今,我们获取这些字段的描述值. 先来看一句SELECT语句: SELECT * FROM sys.extended_properties GO Source Code 如上SQL语句,虽然得到描述的值,但我们不清楚是哪一张表,和哪一个字段的说明. 因此,得使用系统另外对象来关联查询: SELECT t.[name] AS [Tab

获取数据表列相关数据

原文:获取数据表列相关数据 虽然本人在开发数据库时,不太使用视图,但是还是知道 如何获取视图中使用的所有表列: SELECT * FROM INFORMATION_SCHEMA.VIEW_COLUMN_USAGE 如何获取包含视图所有表: SELECT * FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE 获取包含有任何约束的所有列: SELECT TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME FROM INFORMATION_SC

东软软件动态生成对数据表更新操作的方法

1 public string CreatUpdate() 2 { 3 4 StringPlus strclass = new StringPlus(); 5 StringPlus strclass1 = new StringPlus(); 6 StringPlus strclass2 = new StringPlus(); 7 //方法注释 8 strclass.AppendSpaceLine(2, "/// <summary>"); 9 strclass.AppendS

Spring MVC和Spring Data JPA之获取数据表数据放在List集合,显示在JSP页面

涉及到很多xml配置没写:只写具体实现的所有类 1.实体类 对应数据表SYS_SBGL, 主键是SBBM,主键是自动生成的uuid 数据表内容如下(有图有真相): package com.jinhetech.yogurt.sbgl.entity; import java.io.Serializable; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistenc

JDBC中获取数据表的信息

摘自:http://blog.chinaunix.net/uid-145458-id-2799926.html 1. JDBC连接MYSQL的代码很标准,很简单.   class.forName("com.mysql.jdbc.Driver").newInstance();   Connection conn = DriverManager     .getConnection("jdbc:mysql://localhost/test?user=root&passwo

获取数据表最后最后访问,修改,更新,扫描时间

数据分析,需要获取数据每一张表的最后访问,修改,更新,扫描时间等: SELECT [Table Name] = [name],[Create Date] = create_date,[Modify Date] = modify_date,[Last User Update] = last_user_update,[Last User Scan] = last_user_scan FROM sys.tables AS t INNER JOIN (SELECT [TableName] = OBJEC

定时导出Oracle数据表到文本文件的方法

该实例实现了通过windows定时任务来实现了将数据库中指定数据表数据导出为txt文本格式.其思路是通过可执行的bat文件去调用导出数据脚本,然后再在windows定时任务中调用该bat文件来实现.该示例需要能够运行的sqlplus环境,因此需要安装Oracle客户端等可运行环境. 实现了将数据库中日志表数据导出到指定文件夹下的.log文件,且该文件的命名方式采用按天来导出的格式(如:C:\HttpLog\20130115.log),当然具体路径根据你的需求可进行自定义设置.如果你不想建立win