本文整理汇总了Golang中github.com/coocood/qbs.Qbs类的典型用法代码示例。如果您正苦于以下问题:Golang Qbs类的具体用法?Golang Qbs怎么用?Golang Qbs使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Qbs类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: HandlePanic
//HandlePanic rolls back the transiction provided and then panics again.
func (self *QbsDefaultOrmTransactionPolicy) HandlePanic(tx *qbs.Qbs, err interface{}) (interface{}, error) {
log.Printf("got panic, rolling back and returning 500 to client (%v)\n", err)
if rerr := tx.Rollback(); rerr != nil {
panic(rerr)
}
return nil, HTTPError(http.StatusInternalServerError, fmt.Sprintf("panic: %v", err))
}
示例2: updateImportInfo
func updateImportInfo(q *qbs.Qbs, path string, pid int, add bool) {
// Save package information.
info := new(PkgInfo)
err := q.WhereEqual("path", path).Find(info)
if err == nil {
// Check if pid exists in this project.
i := strings.Index(info.ImportPid, "$"+strconv.Itoa(pid)+"|")
switch {
case i == -1 && add: // Add operation and does not contain.
info.ImportPid += "$" + strconv.Itoa(pid) + "|"
info.ImportedNum++
_, err = q.Save(info)
if err != nil {
beego.Error("models.updateImportInfo(): add:", path, err)
}
case i > -1 && !add: // Delete operation and contains.
info.ImportPid = strings.Replace(info.ImportPid, "$"+strconv.Itoa(pid)+"|", "", 1)
info.ImportedNum--
if err != nil {
beego.Error("models.updateImportInfo(): delete:", path, err)
}
}
}
// Error means this project does not exist, simply skip.
}
示例3: UpdateMultipleUsers
func UpdateMultipleUsers(q *qbs.Qbs) (affected int64, err error) {
type User struct {
Name string
}
user := new(User)
user.Name = "Blue"
return q.WhereEqual("name", "Green").Update(user)
}
示例4: Save
//保存
func (this *Episode) Save(q *qbs.Qbs) bool {
_, err := q.Save(this)
if err != nil {
fmt.Println(err)
return false
}
return true
}
示例5: FindUserByCondition
func FindUserByCondition(q *qbs.Qbs) (*User, error) {
user := new(User)
condition1 := qbs.NewCondition("id > ?", 100).Or("id < ?", 50).OrEqual("id", 75)
condition2 := qbs.NewCondition("name != ?", "Red").And("name != ?", "Black")
condition1.AndCondition(condition2)
err := q.Condition(condition1).Find(user)
return user, err
}
示例6: UpdateOneUser
func UpdateOneUser(q *qbs.Qbs, id int64, name string) (affected int64, err error) {
user, err := FindUserById(q, id)
if err != nil {
return 0, err
}
user.Name = name
return q.Save(user)
}
示例7: Save
//保存
func (p *Person) Save(q *qbs.Qbs) bool {
_, err := q.Save(p)
if err != nil {
fmt.Println(err)
return false
}
return true
}
示例8: StartTransaction
//StartTransaction returns a new qbs object after creating the transaction.
func (self *QbsDefaultOrmTransactionPolicy) StartTransaction(q *qbs.Qbs) *qbs.Qbs {
if err := q.Begin(); err != nil {
if err.Error() == "EOF" {
log.Printf("It's likely there is something listening on your server port that isn't the database you expected.")
}
panic(err)
}
return q
}
示例9: update
//更新
func (p *Person) update(person Person, q *qbs.Qbs) bool {
_, err := q.Update(person)
if err != nil {
fmt.Println(err)
return false
}
return true
}
示例10: PrintTable
func PrintTable(q *qbs.Qbs) {
var users []*User
q.FindAll(&users)
for _, user := range users {
fmt.Printf("%+v,", user)
}
fmt.Println()
}
示例11: Save
//保存
func (u *User) Save(q *qbs.Qbs) bool {
if u.Password != "" {
//u.HashedPassword = EncryptPassword(u.Password)
}
_, err := q.Save(u)
if err != nil {
fmt.Println(err)
return false
}
return true
}
示例12: PostQbs
func (self *testObjUdid) PostQbs(value interface{}, pb PBundle, q *qbs.Qbs) (interface{}, error) {
self.testCallCount++
in := value.(*HouseWireUdid)
house := &HouseUdid{Id: in.Id, Address: in.Addr, Zip: in.ZipCode}
if house.Id == "" {
house.Id = UDID()
}
if _, err := q.Save(house); err != nil {
return nil, err
}
return &HouseWireUdid{Id: house.Id, Addr: house.Address, ZipCode: house.Zip}, nil
}
示例13: getGroupPkgInfoWithQ
func getGroupPkgInfoWithQ(q *qbs.Qbs, paths []string) []*hv.PkgInfo {
pinfos := make([]*hv.PkgInfo, 0, len(paths))
for _, v := range paths {
if len(v) > 0 {
pinfo := new(hv.PkgInfo)
err := q.WhereEqual("import_path", v).Find(pinfo)
if err == nil {
pinfos = append(pinfos, pinfo)
} else {
pinfos = append(pinfos, &hv.PkgInfo{ImportPath: v})
}
}
}
return pinfos
}
示例14: getGroupPkgInfoByIdWithQ
func getGroupPkgInfoByIdWithQ(q *qbs.Qbs, pids []string) []*hv.PkgInfo {
pinfos := make([]*hv.PkgInfo, 0, len(pids))
for _, v := range pids {
pid, _ := strconv.ParseInt(v, 10, 64)
if pid > 0 {
pinfo := new(hv.PkgInfo)
err := q.WhereEqual("id", pid).Find(pinfo)
if err == nil {
pinfos = append(pinfos, pinfo)
} else {
beego.Trace("models.GetGroupPkgInfoById ->", err)
}
}
}
return pinfos
}
示例15: calRefRanks
func calRefRanks(q *qbs.Qbs, refPids []string) int64 {
refRank := 0
for _, spid := range refPids {
pid, _ := strconv.Atoi(spid)
if pid == 0 {
continue
}
info := new(hv.PkgInfo)
err := q.WhereEqual("id", pid).Find(info)
if err == nil {
refRank += int(info.Rank) * 10 / 100
} else {
beego.Trace("models.calRefRanks ->", err)
}
}
return int64(refRank)
}