go ---- mysqllibs

package libs

import (
	"database/sql"
	"fmt"
	"time"

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

const (
	USERNAME = "xiyang_data"
	PASSWORD = "xiyang1081"
	NETWORK  = "tcp"
	SERVER   = "localhost"
	PORT     = 3306
	DATABASE = "xiyang_data"
)

func Connect() *sql.DB {
	dsn := fmt.Sprintf("%s:%s@%s(%s:%d)/%s", USERNAME, PASSWORD, NETWORK, SERVER, PORT, DATABASE)
	db, err := sql.Open("mysql", dsn)
	if err != nil {
		return nil
	}
	// See "Important settings" section.
	db.SetConnMaxLifetime(time.Minute * 3)
	db.SetMaxOpenConns(100)
	db.SetMaxIdleConns(10)
	return db
}

func SqlExec(DB *sql.DB, sql string) int64 {
	result, err := DB.Exec(sql)
	if err != nil {
		fmt.Printf("Insert failed,err:%v", err)
		return 0
	}

	// 最后插入的Id
	lastInsertID, err := result.LastInsertId()
	if err != nil {
		fmt.Printf("Get lastInsertID failed,err:%v", err)
		return 0
	}
	fmt.Println("LastInsertID:", lastInsertID)

	// 本次插入数据影响的行数
	rowsaffected, err := result.RowsAffected()

	if err != nil {
		fmt.Printf("Get RowsAffected failed,err:%v", err)
		return 0
	}

	fmt.Println("RowsAffected:", rowsaffected)
	return rowsaffected
}

  

测试:

db := libs.Connect()
if db != nil {
	libs.SqlExec(db, _sql)
}

  

posted @ 2020-09-07 13:53  爱在夕阳下  阅读(40)  评论(0)    收藏  举报