You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
797 B
43 lines
797 B
package rdb |
|
|
|
import ( |
|
"gorm.io/gorm" |
|
) |
|
|
|
// RDB gorm关系型数据 |
|
type RDB struct { |
|
db *gorm.DB |
|
} |
|
|
|
func NewRDB(db *gorm.DB) *RDB { |
|
return &RDB{ |
|
db: db, |
|
} |
|
} |
|
|
|
func (m *RDB) Init() (err error) { |
|
return |
|
} |
|
|
|
func (m *RDB) Insert(data any) (err error) { |
|
return m.db.Create(data).Error |
|
} |
|
|
|
// sql查询数据 |
|
func (m *RDB) Select(ret any, sql string, args ...any) (err error) { |
|
return m.db.Raw(sql, args...).Scan(ret).Error |
|
} |
|
|
|
// sql更新数据 |
|
func (m *RDB) Update(sql string, args ...any) (rowsAffected int64, err error) { |
|
tx := m.db.Exec(sql, args...) |
|
rowsAffected, err = tx.RowsAffected, tx.Error |
|
return |
|
} |
|
|
|
// sql更新数据 |
|
func (m *RDB) UpdateBy(data any) (rowsAffected int64, err error) { |
|
tx := m.db.Model(data).Updates(data) |
|
rowsAffected, err = tx.RowsAffected, tx.Error |
|
return |
|
}
|
|
|