Beego 的 ORM 支持多种关系型数据库,包括 MySQL、PostgreSQL、SQLite 等。
下面是beego orm的例子:
// 定义struct对象,用于映射数据库的表结构
type User struct {
Id int
Name string
Age int
Address string
}
// 定义表名
func (u *User) TableName() string {
return "user"
}
// 查询数据
func GetUserById(id int) (User, error) {
// 实例化orm对象
o := orm.NewOrm()
// 根据id查询用户表的数据
user := User{Id: id}
err := o.Read(&user)
if err == orm.ErrNoRows {
return user, nil
} else if err == orm.ErrMissPK {
return user, errors.New("找不到主键")
} else {
return user, err
}
}
// 插入数据
func AddUser(user *User) (int64, error) {
o := orm.NewOrm()
// 直接插入user结构体对象,会自动生成对应的insert sql
id, err := o.Insert(user)
return id, err
}
// 更新数据
func UpdateUser(user *User) (int64, error) {
o := orm.NewOrm()
num, err := o.Update(user)
return num, err
}
// 删除数据
func DeleteUser(id int) (int64, error) {
o := orm.NewOrm()
num, err := o.Delete(&User{Id: id})
return num, err
}
详情请参考:beego orm数据库操作入门教程