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