数据连接层的方法封装成通用方法是很有必要,节省不必要的重复写代码。
Golang的orm、xorm框架没有封装这些操作。
这里是一个查询单个对象的方法。
此处抛砖引玉,大家继续完善。
通用方法定义代码:
/**
* 描述:根据条件查询一个对象
* 作者:Tianqi
* 日期:2014-09-04
* param model:*interface{} 对象实例
* param model:cond 查询条件
* return count:结果数
*/
func GetOneModel(model interface{}, cond *orm.Condition) int64 {
qs := orm.NewOrm().QueryTable(model).SetCond(cond)
err := qs.One(model)
if err != nil {
return
}
return
}
调用方法代码:
func UserLogin(userName, userPass string) (int64, string) {
user := &modelsRm.RmUser{}
var cond *orm.Condition
cond = orm.NewCondition().And("LoginName", userName)
count := dal.GetOneModel(user, cond)
if count == {
return , "未找到该用户名"
}
fmt.Println(user)
if user.LoginPass != safe.GetMd5String(userPass) {
return , "密码不正确"
}
return , "登录成功"
}
tianqi.