// Package {PACKAGE} ... // // Description : {PACKAGE} ... package {PACKAGE} import ( "gorm.io/gorm" "errors" ) // {DATA_STRUCT_NAME} 数据库表的数据结构 {DATA_STRUCT} // New{DATA_STRUCT_DAO} 获取DAO实例 func New{DATA_STRUCT_DAO}() *{DATA_STRUCT_DAO} { return &{DATA_STRUCT_DAO}{ table : "{DB_TABLE_NAME}", } } // {DATA_STRUCT_DAO} sql2go tool generate type {DATA_STRUCT_DAO} struct { table string } // GetDetailBy{PRIMARY_KEY} 根据主键ID获取详情 func ({DAO_RECEIVER} *{DATA_STRUCT_DAO}) GetDetailBy{PRIMARY_KEY}(dbInstance *gorm.DB, {PRIMARY_KEY} {PRIMARY_KEY_TYPE}) (*{DATA_STRUCT_NAME}, error) { var ( err error detail {DATA_STRUCT_NAME} ) if err = dbInstance.Table({DAO_RECEIVER}.table).Where("{PRIMARY_KEY_FIELD} = ?", {PRIMARY_KEY}).Limit(1).First(&detail).Error; nil != err { return nil, err } return &detail, nil } // GetList 获取数据列表 func ({DAO_RECEIVER} *{DATA_STRUCT_DAO}) GetList(dbInstance *gorm.DB, condition map[string]interface{}, limit int, offset int) ([]{DATA_STRUCT_NAME}, error) { if nil == condition { condition = make(map[string]interface{}) } var ( err error list []{DATA_STRUCT_NAME} ) if err = dbInstance.Table({DAO_RECEIVER}.table).Where(condition).Limit(limit).Offset(offset).Find(&list).Error; nil != err { return make([]{DATA_STRUCT_NAME}, 0), err } return list, nil } // Create 创建数据 func ({DAO_RECEIVER} *{DATA_STRUCT_DAO}) Create(dbInstance *gorm.DB, data *{DATA_STRUCT_NAME}) error { if nil == data { return errors.New("data is nil") } return dbInstance.Table({DAO_RECEIVER}.table).Create(data).Error }