zoukankan      html  css  js  c++  java
  • gin连接mysql数据库

    1.下载驱动

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

    2.数据库连接(插入和查询)

    package main
    
    import (
    	"database/sql"
    	"fmt"
    	"github.com/gin-gonic/gin"
    	_ "github.com/go-sql-driver/mysql"
    	"log"
    )
    func main() {
    	engine := gin.Default()
    	//连接数据库
    	constr := "root:root@tcp(127.0.0.1:3306)/ginsql"
    	//打开连接
    	db ,err := sql.Open("mysql",constr) //返回mysql实例db
    	if err != nil {
    		log.Panic(err.Error())
    		return
    	}
    	//插入数据
    	_,err = db.Exec("insert into user(name,age) values(?,?);","张三",18)
    	if err != nil {
    		log.Panic(err.Error())
    		return
    	}else{
    		fmt.Println("插入成功")
    	}
    	//查询数据
    	rows ,err := db.Query("select id,name,age from user")
    	if err != nil {
    		log.Panic(err.Error())
    		return
    	}
    scan: //开始一个代码块(有风险 谨慎使用)
    	if rows.Next() { //如果有值为真就是有数据
    		user := new(User)
    		err := rows.Scan(&user.Id,&user.Name,&user.Age) //读取rows里面的数据分别赋值给结构体属性
    		if err != nil {
    			log.Panic(err.Error())
    			return
    		}
    		fmt.Println(user.Id,user.Name,user.Age)
    		goto scan //再次执行  (代码块这段也可以用循环代替)
    	}
    	engine.Run()
    }
    
    //定义一个结构体和数据库结构一致
    type User struct {
    	Id int
    	Name string
    	Age int
    }
    

      

  • 相关阅读:
    公司的CMS参数
    Kafka 如何保证消息可靠性
    我来了
    spring解决乱码
    mybatis反向工程
    Unicode控制字符
    功能跟进记录
    创建IDataProvider实例
    腾讯2016研发工程师笔试题36车 6跑道 没有计时器 最少要几次取前三
    .net mvc下拉列表DropDownList控件绑定数据
  • 原文地址:https://www.cnblogs.com/finnlee/p/14269591.html
Copyright © 2011-2022 走看看