add show only INSERT UPDATE DELETE SQLs

This commit is contained in:
tab.zhang 2019-03-21 11:41:23 +08:00
parent d9a8c8645c
commit a95dfa3921
6 changed files with 21 additions and 5 deletions

View File

@ -38,6 +38,7 @@ type Engine struct {
Cacher core.Cacher Cacher core.Cacher
showSQL bool showSQL bool
showCUDSQL bool
showExecTime bool showExecTime bool
logger core.ILogger logger core.ILogger
@ -96,12 +97,16 @@ func (engine *Engine) CondDeleted(colName string) builder.Cond {
} }
// ShowSQL show SQL statement or not on logger if log level is great than INFO // ShowSQL show SQL statement or not on logger if log level is great than INFO
// Show[1] show SQL only INSERT UPDATE and DELETE.
func (engine *Engine) ShowSQL(show ...bool) { func (engine *Engine) ShowSQL(show ...bool) {
engine.logger.ShowSQL(show...) engine.logger.ShowSQL(show...)
if len(show) == 0 { if len(show) == 0 {
engine.showSQL = true engine.showSQL = true
} else { } else {
engine.showSQL = show[0] engine.showSQL = show[0]
if len(show) > 1 {
engine.showCUDSQL = show[1]
}
} }
} }
@ -1372,6 +1377,7 @@ func (engine *Engine) QueryInterface(sqlorArgs ...interface{}) ([]map[string]int
func (engine *Engine) Insert(beans ...interface{}) (int64, error) { func (engine *Engine) Insert(beans ...interface{}) (int64, error) {
session := engine.NewSession() session := engine.NewSession()
defer session.Close() defer session.Close()
session.isCUD = true
return session.Insert(beans...) return session.Insert(beans...)
} }
@ -1379,6 +1385,7 @@ func (engine *Engine) Insert(beans ...interface{}) (int64, error) {
func (engine *Engine) InsertOne(bean interface{}) (int64, error) { func (engine *Engine) InsertOne(bean interface{}) (int64, error) {
session := engine.NewSession() session := engine.NewSession()
defer session.Close() defer session.Close()
session.isCUD = true
return session.InsertOne(bean) return session.InsertOne(bean)
} }
@ -1391,6 +1398,7 @@ func (engine *Engine) InsertOne(bean interface{}) (int64, error) {
func (engine *Engine) Update(bean interface{}, condiBeans ...interface{}) (int64, error) { func (engine *Engine) Update(bean interface{}, condiBeans ...interface{}) (int64, error) {
session := engine.NewSession() session := engine.NewSession()
defer session.Close() defer session.Close()
session.isCUD = true
return session.Update(bean, condiBeans...) return session.Update(bean, condiBeans...)
} }
@ -1398,6 +1406,7 @@ func (engine *Engine) Update(bean interface{}, condiBeans ...interface{}) (int64
func (engine *Engine) Delete(bean interface{}) (int64, error) { func (engine *Engine) Delete(bean interface{}) (int64, error) {
session := engine.NewSession() session := engine.NewSession()
defer session.Close() defer session.Close()
session.isCUD = true
return session.Delete(bean) return session.Delete(bean)
} }

View File

@ -51,7 +51,8 @@ type Session struct {
lastSQL string lastSQL string
lastSQLArgs []interface{} lastSQLArgs []interface{}
err error err error
isCUD bool
} }
// Clone copy all the session's content and return a new session // Clone copy all the session's content and return a new session

View File

@ -78,7 +78,7 @@ func (session *Session) Delete(bean interface{}) (int64, error) {
if session.isAutoClose { if session.isAutoClose {
defer session.Close() defer session.Close()
} }
session.isCUD = true
if err := session.statement.setRefBean(bean); err != nil { if err := session.statement.setRefBean(bean); err != nil {
return 0, err return 0, err
} }

View File

@ -18,7 +18,7 @@ import (
func (session *Session) Insert(beans ...interface{}) (int64, error) { func (session *Session) Insert(beans ...interface{}) (int64, error) {
var affected int64 var affected int64
var err error var err error
session.isCUD = true
if session.isAutoClose { if session.isAutoClose {
defer session.Close() defer session.Close()
} }
@ -517,7 +517,7 @@ func (session *Session) InsertOne(bean interface{}) (int64, error) {
if session.isAutoClose { if session.isAutoClose {
defer session.Close() defer session.Close()
} }
session.isCUD = true
return session.innerInsert(bean) return session.innerInsert(bean)
} }

View File

@ -172,6 +172,12 @@ func (session *Session) exec(sqlStr string, args ...interface{}) (sql.Result, er
session.engine.logger.Infof("[SQL] %v", sqlStr) session.engine.logger.Infof("[SQL] %v", sqlStr)
} }
} }
} else if session.engine.showCUDSQL && session.isCUD {
if len(args) > 0 {
session.engine.logger.Infof("[SQL] %v %#v", sqlStr, args)
} else {
session.engine.logger.Infof("[SQL] %v", sqlStr)
}
} }
if !session.isAutoCommit { if !session.isAutoCommit {

View File

@ -146,7 +146,7 @@ func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int6
if session.isAutoClose { if session.isAutoClose {
defer session.Close() defer session.Close()
} }
session.isCUD = true
v := rValue(bean) v := rValue(bean)
t := v.Type() t := v.Type()