更新mysql基础操作
This commit is contained in:
parent
77df474a4f
commit
2fb098b469
31
base.go
31
base.go
@ -27,7 +27,7 @@ func (b *BaseDao) Create(dbInstance *gorm.DB, table string, data interface{}) er
|
|||||||
//
|
//
|
||||||
// Date : 8:12 下午 2021/8/8
|
// Date : 8:12 下午 2021/8/8
|
||||||
func (b *BaseDao) Update(dbInstance *gorm.DB, table string, updateDate interface{}, optionFuncList ...SetOption) (int64, error) {
|
func (b *BaseDao) Update(dbInstance *gorm.DB, table string, updateDate interface{}, optionFuncList ...SetOption) (int64, error) {
|
||||||
b.setTxCondition(dbInstance, table, optionFuncList...)
|
dbInstance = b.setTxCondition(dbInstance, table, optionFuncList...)
|
||||||
r := dbInstance.Updates(updateDate)
|
r := dbInstance.Updates(updateDate)
|
||||||
return r.RowsAffected, r.Error
|
return r.RowsAffected, r.Error
|
||||||
}
|
}
|
||||||
@ -38,7 +38,7 @@ func (b *BaseDao) Update(dbInstance *gorm.DB, table string, updateDate interface
|
|||||||
//
|
//
|
||||||
// Date : 8:14 下午 2021/8/8
|
// Date : 8:14 下午 2021/8/8
|
||||||
func (b *BaseDao) List(dbInstance *gorm.DB, table string, result interface{}, optionFuncList ...SetOption) error {
|
func (b *BaseDao) List(dbInstance *gorm.DB, table string, result interface{}, optionFuncList ...SetOption) error {
|
||||||
b.setTxCondition(dbInstance, table, optionFuncList...)
|
dbInstance = b.setTxCondition(dbInstance, table, optionFuncList...)
|
||||||
return dbInstance.Find(result).Error
|
return dbInstance.Find(result).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ func (b *BaseDao) List(dbInstance *gorm.DB, table string, result interface{}, op
|
|||||||
//
|
//
|
||||||
// Date : 8:25 下午 2021/8/8
|
// Date : 8:25 下午 2021/8/8
|
||||||
func (b *BaseDao) Detail(dbInstance *gorm.DB, table string, result interface{}, optionFuncList ...SetOption) error {
|
func (b *BaseDao) Detail(dbInstance *gorm.DB, table string, result interface{}, optionFuncList ...SetOption) error {
|
||||||
b.setTxCondition(dbInstance, table, optionFuncList...)
|
dbInstance = b.setTxCondition(dbInstance, table, optionFuncList...)
|
||||||
return dbInstance.First(result).Error
|
return dbInstance.First(result).Error
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ func (b *BaseDao) Detail(dbInstance *gorm.DB, table string, result interface{},
|
|||||||
//
|
//
|
||||||
// Date : 8:25 下午 2021/8/8
|
// Date : 8:25 下午 2021/8/8
|
||||||
func (b *BaseDao) Count(dbInstance *gorm.DB, table string, optionFuncList ...SetOption) (int64, error) {
|
func (b *BaseDao) Count(dbInstance *gorm.DB, table string, optionFuncList ...SetOption) (int64, error) {
|
||||||
b.setTxCondition(dbInstance, table, optionFuncList...)
|
dbInstance = b.setTxCondition(dbInstance, table, optionFuncList...)
|
||||||
var cnt int64
|
var cnt int64
|
||||||
return cnt, dbInstance.Table(table).Count(&cnt).Error
|
return cnt, dbInstance.Table(table).Count(&cnt).Error
|
||||||
}
|
}
|
||||||
@ -95,9 +95,9 @@ func (b *BaseDao) Rollback(db *gorm.DB) error {
|
|||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
//
|
//
|
||||||
// Date : 17:38 2022/5/15
|
// Date : 17:38 2022/5/15
|
||||||
func (b *BaseDao) setTxCondition(tx *gorm.DB, table string, optionFuncList ...SetOption) {
|
func (b *BaseDao) setTxCondition(tx *gorm.DB, table string, optionFuncList ...SetOption) *gorm.DB {
|
||||||
// 指定查询的表
|
// 指定查询的表
|
||||||
tx.Table(table)
|
tx = tx.Table(table)
|
||||||
|
|
||||||
// 构建查询条件
|
// 构建查询条件
|
||||||
o := &Option{}
|
o := &Option{}
|
||||||
@ -107,54 +107,55 @@ func (b *BaseDao) setTxCondition(tx *gorm.DB, table string, optionFuncList ...Se
|
|||||||
|
|
||||||
// 设置where条件
|
// 设置where条件
|
||||||
if nil != o.Where && len(o.Where) > 0 {
|
if nil != o.Where && len(o.Where) > 0 {
|
||||||
tx.Where(o.Where)
|
tx = tx.Where(o.Where)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置 limit offset
|
// 设置 limit offset
|
||||||
if o.Limit > 0 {
|
if o.Limit > 0 {
|
||||||
tx.Limit(o.Limit)
|
tx = tx.Limit(o.Limit)
|
||||||
}
|
}
|
||||||
if o.Offset >= 0 {
|
if o.Offset >= 0 {
|
||||||
tx.Offset(o.Offset)
|
tx = tx.Offset(o.Offset)
|
||||||
}
|
}
|
||||||
|
|
||||||
// in 语句
|
// in 语句
|
||||||
if nil != o.In {
|
if nil != o.In {
|
||||||
tx.Where(o.In)
|
tx = tx.Where(o.In)
|
||||||
}
|
}
|
||||||
|
|
||||||
// not in 语句
|
// not in 语句
|
||||||
if nil != o.NotIn {
|
if nil != o.NotIn {
|
||||||
for field, value := range o.NotIn {
|
for field, value := range o.NotIn {
|
||||||
tx.Where(field+" NOT IN ? ", value)
|
tx = tx.Where(field+" NOT IN ? ", value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// like 语句
|
// like 语句
|
||||||
if nil != o.Like {
|
if nil != o.Like {
|
||||||
for field, value := range o.Like {
|
for field, value := range o.Like {
|
||||||
tx.Where(field+" LIKE ? ", "%"+value+"%")
|
tx = tx.Where(field+" LIKE ? ", "%"+value+"%")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// NOT LIKE 语句
|
// NOT LIKE 语句
|
||||||
if nil != o.NotLike {
|
if nil != o.NotLike {
|
||||||
for field, value := range o.NotLike {
|
for field, value := range o.NotLike {
|
||||||
tx.Where(field+" NOT LIKE ? ", "%"+value+"%")
|
tx = tx.Where(field+" NOT LIKE ? ", "%"+value+"%")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// >=
|
// >=
|
||||||
if nil != o.Start {
|
if nil != o.Start {
|
||||||
for field, value := range o.Start {
|
for field, value := range o.Start {
|
||||||
tx.Where(field+" >= ?", value)
|
tx = tx.Where(field+" >= ?", value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// <
|
// <
|
||||||
if nil != o.End {
|
if nil != o.End {
|
||||||
for field, value := range o.End {
|
for field, value := range o.End {
|
||||||
tx.Where(field+" < ?", value)
|
tx = tx.Where(field+" < ?", value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return tx
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user