56 lines
1.2 KiB
Go
56 lines
1.2 KiB
Go
![]() |
package dbpool
|
|||
|
|
|||
|
import (
|
|||
|
"database/sql"
|
|||
|
"log"
|
|||
|
|
|||
|
_ "github.com/go-sql-driver/mysql"
|
|||
|
)
|
|||
|
|
|||
|
var DB *sql.DB
|
|||
|
|
|||
|
func init() {
|
|||
|
DB, _ = sql.Open("mysql", "root:Lc753951!!@tcp(fanyu.online:53306)/douy?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
|
|||
|
}
|