package dbpool import ( "database/sql" "dt_automate/conf" "dt_automate/tool" "log" _ "github.com/go-sql-driver/mysql" ) var db *sql.DB func init() { db, _ = sql.Open("mysql", tool.KeyStr(conf.GET_Config_yaml("mysql.root").(string))+":"+tool.KeyStr(conf.GET_Config_yaml("mysql.password").(string))+"@tcp(fanyu.online:53306)/?charset=utf8&parseTime=True&loc=Local") db.SetMaxOpenConns(20) db.SetMaxIdleConns(10) // DB.SetConnMaxLifetime(100) err := db.Ping() if err != nil { log.Println("database init failed, err: ", err) return } log.Println("mysql conn pool has initiated.") } // QueryRows 是一个通用的查询函数,它执行SQL查询并返回结果集 func QueryRows(query string, args ...any) (*sql.Rows, error) { rows, err := db.Query(query, args...) if err != nil { return nil, err } return rows, nil } // ExecuteSQL 是一个通用的插入函数,它执行SQL插入并返回结果集 func ExecuteSQL(query string, args ...any) (sql.Result, error) { result, err := db.Exec(query, args...) if err != nil { return nil, err } return result, nil } type Douy_info struct { Mobile_phone_number sql.NullString SerialNumber sql.NullString Username sql.NullString Initial_time sql.NullString End_time sql.NullString Surplus_time sql.NullString Key sql.NullString }