orm 通用查询方法——GetOneModel 条件查询一个对象

数据连接层的方法封装成通用方法是很有必要,节省不必要的重复写代码。

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 0
    }
    return 1
}

调用方法代码:

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 == 0 {
        return 0, "未找到该用户名"
    }
    fmt.Println(user)
    if user.LoginPass != safe.GetMd5String(userPass) {
        return 0, "密码不正确"
    }
    return 1, "登录成功"
}

tianqi.

时间: 2025-01-17 19:53:19

orm 通用查询方法——GetOneModel 条件查询一个对象的相关文章

条件查询N多的情况下,回显解决方法。

条件查询每个web程序员一定都写过,关于条件回显值页面的思路很简单,将页面的值传到后台,放置request作用域,然后回显至页面. 如果几个条件还好些,如果是下面这种情况呢? 如果条件像以上情况N多情况,你还会采用页面->后台->页面这种方式回显吗?很显然这样做很费事. 那么问题就来了,应该怎样去做? 个人给出的建议是条件查询的div和列表的div分开, 然后将带有数据信息的列表在带有条件的 页面 通过jquery的load()方法load进来.

javascript:设置URL参数的方法,适合多条件查询

适用场景:多条件查询情况,如下图所示: 通过设置URL参数,再结合数据源控件设置的RUL参数,就能进行简单的多条件查询了. javascript函数: <mce:script type="text/javascript"><!-- //设置URL参数的方法 function setParmsValue(parms, parmsValue) { var urlstrings = document.URL; var args = GetUrlParms(); var va

【Java EE 学习第17天】【数据库导出到Excel】【多条件查询方法】

一.导出到Excel 1.使用DatabaseMetaData分析数据库的数据结构和相关信息. (1)测试得到所有数据库名: private static DataSource ds=DataSourceUtils_C3P0.getDataSource(); Connection conn=ds.getConnection(); DatabaseMetaData dbmd=conn.getMetaData(); ResultSet rs=dbmd.getCatalogs(); while(rs.

thinkphp条件查询和模糊查询的一些方法

1 #文章管理 2 public function adminArticle(){ 3 $adminArticle=M("article"); 4 $arr_seach=$this->seach($adminArticle,10,"now desc","");//参数格式seach($db,$num,$order,$where) 5 ##按最早排序 6 if([email protected]empty($_POST['time'])){

jpa多条件查询重写Specification的toPredicate方法(转)

Spring Data JPA支持JPA2.0的Criteria查询,相应的接口是JpaSpecificationExecutor.Criteria 查询:是一种类型安全和更面向对象的查询 . 这个接口基本是围绕着Specification接口来定义的, Specification接口中只定义了如下一个方法: Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder cb); 要理解这个方

关于不定项参数的查询方法(多条件查询)

如果要进行一个多条件的查询,但又不知道用户到底对哪些条件进行了设定,所以,我们在编辑一个多条件查询的时候,会遇到这样的问题. 那么我们可以通过以下的方式进行解决: 假设一个场景-->       如下图:其中Customer.class 包含了以下的所有属性 开始解决问题: 那么我们在CustomerDao中可以这样进行编写: public class CustomerDao{ private QueryRunner qr = new TxQueryRunner(); //TxQueryRunn

【JPA】表达条件查询的关键字

1.通过解析方法名创建查询 框架在进行方法名解析时,会先把方法名多余的前缀截取掉,比如 find.findBy.read.readBy.get.getBy,然后对剩下部分进行解析.并且如果方法的最后一个参数是 Sort 或者 Pageable 类型,也会提取相关的信息,以便按规则进行排序或者分页查询. 在创建查询时,我们通过在方法名中使用属性名称来表达,比如 findByUserAddressZip ().框架在解析该方法时,首先剔除 findBy,然后对剩下的属性进行解析,详细规则如下(此处假

打造android ORM框架opendroid(六)——级联查询

在上一篇博客<打造android ORM框架opendroid(五)--数据更新的实现>  我们介绍了opendroid数据更新的流程,也就在上次,我们OpenDroid类中的所有操作都介绍完了, 那查询操作呢?不是在OpenDroid中?查询操作是在OpenDroid中,不过是以内部类的形式呈现的. 还是来看看如果使用opendroid查询数据吧. OpenDroid.query.find(Student.class) OpenDroid.query.columns("stuNam

C# 将Access中时间段条件查询的数据添加到ListView中

C# 将Access中时间段条件查询的数据添加到ListView中 一.让ListView控件显示表头的方法 在窗体中添加ListView 空间,其属性中设置:View属性设置为:Detail,Columns集合中添加表头中的文字. 二.利用代码给ListView添加Item. 首先,ListView的Item属性包括Items和SubItems.必须先实例化一个ListIteView对象.具体如下: ListViewItem listViewItem=new ListViewItem(); l