gin mysql网上商城_gin+mysql实现Restful风格的API

这是一个使用Gin框架和MySQL数据库实现的网上商城基础功能的示例,包括创建数据库连接池、定义用户结构体、CRUD操作(增删查改)以及使用JSON响应。示例涵盖了从初始化数据库连接到执行SQL语句的全过程。
摘要由CSDN通过智能技术生成

入门小实例

package main

import (

"github.com/gin-gonic/gin"

)

func main() {

r := gin.Default()

r.GET("/hello",func(c *gin.Context) {

c.JSON(200,gin.H{"message":"helloworld",})

})

r.Run(":8082")

}

电脑上安装mysql数据库和navcateMySQL 安装 | 菜鸟教程​www.runoob.com58aa3dbf555280bd6073c725374f9222.png支持 MySQL、MariaDB、MongoDB、SQL Server、SQLite、Oracle 和 PostgreSQL 的数据库管理​www.navicat.com.cnae900223559f01b51a7a29054c408738.png

创建一个数据库和张表

CREATE TABLE `user` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(40) NOT NULL DEFAULT '',

`age` int(22) NOT NULL DEFAULT '',

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

安装操作mysql驱动

go get -u github.com/go-sql-driver/mysql

初始化连接池

package main

import (

"database/sql"

"fmt"

_ "github.com/go-sql-driver/mysql"

)

// 定义一个全局对象db

var db *sql.DB

// 定义一个初始化数据库的函数

func initDB() (err error) {

// DSN:Data Source Name

dsn := "user:password@tcp(127.0.0.1:3306)/test"

// 不会校验账号密码是否正确

// 注意!!!这里不要使用:=,我们是给全局变量赋值,然后在main函数中使用全局变量db

db, err = sql.Open("mysql", dsn)

if err != nil {

return err

}

// 尝试与数据库建立连接(校验dsn是否正确)

err = db.Ping()

if err != nil {

return err

}

return nil

}

使用sql.Open方法会创建一个数据库连接池db。这个db不是数据库连接,它是一个连接池,只有当真正数据库通信的时候才创建连接。例如这里的db.Ping的操作。db.SetMaxIdleConns(20)和db.SetMaxOpenConns(20)分别设置数据库的空闲连接和最大打开连接,即向Mysql服务端发出的所有连接的最大数目。

package main

import (

"database/sql"

"fmt"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值