Grails复用查询条件并分页的实现方法
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容介绍了"Grails复用查询条件并分页的实现方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2026年11月01日Grails复用查询条件并分页的实现方法
本篇内容介绍了"Grails复用查询条件并分页的实现方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
看过几篇写grails分页的,大都把简单的东西搞复杂了,而且里面都没有对查询条件复用,在分页时,求count和list的时候where条件是一样的,好点的程序员都会把where条件复用一下,在grails里面肯定是利用闭包特性重复利用了,看看下面的代码就懂了~
def serach = { if (!params.max) params.max = 10 if (!params.offset) params.offset = 0 if (!params.sort) params.sort = "id" if (!params.order) params.order = "asc" def cel = { if(params.name){ like("name", "%${params.name}%") } if(params.city){ like("city", "%${params.city}%") } } def results = User.createCriteria().list(params,cel)// def cut = User.createCriteria().count(cel) [userInstanceList: results, userInstanceTotal: results.totalCount] }看到没,del闭包重复利用了~,另外需要说明下:在list的时候,会返回一个PagedResultList类型,里面就有totalCount属性,所以注释的那段代码不用写,不然会发3条SQL了。 这里主要是利用闭包复用查询条件演示了。
另外说下hibernate和ibatis里面的做法,hibernate一般这样干,封装个方法:
private Criteria getCriteria(Dept dept) { Criteria criteria = super.getSession().createCriteria(Dept.class); criteria.addOrder(Order.desc("id")); //倒序 if (dept != null) { if (dept.getId() != null && dept.getId() > 0) { criteria.add(Restrictions.eq("id", dept.getId())); } if (StringUtils.isNotBlank(dept.getName())) { criteria.add(Restrictions.like("name", setPropertyValue(dept.getName()))); } if(StringUtils.isNotBlank(dept.getDesp())){ criteria.add(Restrictions.like("desp", setPropertyValue(dept.getDesp()))); } } return criteria; }这样就可以复用啦。
"Grails复用查询条件并分页的实现方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
条件
复用
查询
方法
闭包
代码
内容
时候
更多
知识
复杂
实用
学有所成
接下来
不用
东西
倒序
做法
困境
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技行业发展
科技平台互联网
科技和互联网公司
中国互联网科技股
科技信息互联网
腾讯阿里互联网科技
西安互联网科技
宜安科技 互联网金融
新华互联网科技校企合作
海南科技产业互联网平台
广州恒生互联网科技有限
半导体是互联网高科技吗
风投北京互联网科技
35岁以上互联网科技行业
扫呗互联网科技有限公司
西安有哪些互联网高科技企业
中国新注册互联网科技
长沙易易互联网科技有限公司
互联网科技大佬云集
互联网的黑科技实验室
广州为想互联网科技有限公司
科技互联网项目
互联网科技垄断
互联网的科技创新
上海卓越科技 互联网
卫星互联网科技股票
开一家科技互联网公司需要多少钱
全球科技与互联网公司市值变化
易租星互联网科技有限公司
众联互联网络科技