123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package c_db
- import (
- "cicv-data-closedloop/common/config/c_log"
- _ "github.com/go-sql-driver/mysql"
- "github.com/jmoiron/sqlx"
- "os"
- )
- var MysqlDb *sqlx.DB
- func InitSqlxMysql(username string, password string, ip string, port string, dbname string, charset string) {
- var err error
-
-
-
- MysqlDb, err = sqlx.Open("mysql", username+":"+password+"@tcp("+ip+":"+port+")/"+dbname+"?charset="+charset+"&parseTime=True&loc=Local")
- if err != nil {
- c_log.GlobalLogger.Error("程序退出。mysql连接失败:", err)
- os.Exit(-1)
- }
-
- MysqlDb.SetMaxOpenConns(10)
- MysqlDb.SetMaxIdleConns(5)
- MysqlDb.SetConnMaxLifetime(0)
- c_log.GlobalLogger.Info("mysql连接成功。")
- }
- func DoTx(sqlTemplate string, params []any) error {
-
- tx, err := MysqlDb.Beginx()
- if err != nil {
- c_log.GlobalLogger.Error("开启事务失败:", err)
- return err
- }
-
- _, err = tx.Exec(sqlTemplate, params...)
- if err != nil {
- c_log.GlobalLogger.Error("执行操作失败,回滚事务:", err)
- tx.Rollback()
- return err
- }
-
- err = tx.Commit()
- if err != nil {
- c_log.GlobalLogger.Error("提交事务失败:", err)
- return err
- }
- return nil
- }
|