mirror of
https://github.com/tangpanqing/aorm.git
synced 2025-09-27 04:16:26 +08:00
80 lines
1.4 KiB
Go
80 lines
1.4 KiB
Go
package base
|
|
|
|
import (
|
|
"database/sql"
|
|
"time"
|
|
)
|
|
|
|
type Db struct {
|
|
Driver string
|
|
DebugMode bool
|
|
SqlDB *sql.DB
|
|
}
|
|
|
|
//Close 关闭
|
|
func (db *Db) Close() error {
|
|
return db.SqlDB.Close()
|
|
}
|
|
|
|
//Begin 开始一个事务
|
|
func (db *Db) Begin() *Tx {
|
|
SqlTx, _ := db.SqlDB.Begin()
|
|
|
|
return &Tx{
|
|
driver: db.Driver,
|
|
debugMode: db.DebugMode,
|
|
|
|
sqlTx: SqlTx,
|
|
}
|
|
}
|
|
|
|
//SetDebugMode 获取调试模式
|
|
func (db *Db) SetDebugMode(debugMode bool) {
|
|
db.DebugMode = debugMode
|
|
}
|
|
|
|
func (db *Db) SetConnMaxLifetime(d time.Duration) {
|
|
db.SqlDB.SetConnMaxLifetime(d)
|
|
}
|
|
|
|
func (db *Db) SetConnMaxIdleTime(d time.Duration) {
|
|
db.SqlDB.SetConnMaxIdleTime(d)
|
|
}
|
|
|
|
func (db *Db) SetMaxIdleConns(n int) {
|
|
db.SqlDB.SetMaxIdleConns(n)
|
|
}
|
|
|
|
func (db *Db) SetMaxOpenConns(n int) {
|
|
db.SqlDB.SetMaxOpenConns(n)
|
|
}
|
|
|
|
func (db *Db) Stats() sql.DBStats {
|
|
return db.SqlDB.Stats()
|
|
}
|
|
|
|
//GetDebugMode 获取调试模式
|
|
func (db *Db) GetDebugMode() bool {
|
|
return db.DebugMode
|
|
}
|
|
|
|
func (db *Db) DriverName() string {
|
|
return db.Driver
|
|
}
|
|
|
|
func (db *Db) Exec(query string, args ...interface{}) (sql.Result, error) {
|
|
return db.SqlDB.Exec(query, args...)
|
|
}
|
|
|
|
func (db *Db) Prepare(query string) (*sql.Stmt, error) {
|
|
return db.SqlDB.Prepare(query)
|
|
}
|
|
|
|
func (db *Db) Query(query string, args ...interface{}) (*sql.Rows, error) {
|
|
return db.SqlDB.Query(query, args...)
|
|
}
|
|
|
|
func (db *Db) QueryRow(query string, args ...interface{}) *sql.Row {
|
|
return db.SqlDB.QueryRow(query, args...)
|
|
}
|