工作笔记—hibernate之QueryCriteria
本人用的是sg-uap虚拟环境
//查询方法
//参数 RequestCondition 配合 controller 的 @QueryRequestParam注解可以将前台传入整个对象进行接收
//参数 UserSession 当前登录的用户信息
//obj 实体类
public QueryResultObject query(RequestCondition queryCondition,UserSession userSession){ QueryCriteria qc = new QueryCriteria;
//查询集合
List<obj> result = null;
//查询记录总数
int count = 0;
//查询条件
qc.addWhere("","数据库字段名","=","值");
//查询表
qc.addFrom(obj.class)
//其他的判断条件
if(queryCondition != null){
//添加其他查询条件
qc = wrapQuery(queryCondition,qc);
//获取总记录数
count = getRecordCount(qc);
//添加分页信息
qc = wrapPage(queryCondition,qc);
result = hibernateDao.findAllByCriteria(qc);
}else{
result = hibernateDao.findAllByCriteria(qc);
count = getRecordCount(qc);
}
return 封装对象返回
}
public QueryCriteria wrapQuery(QueryCriteria qc,RequestCondition queryCondition ){ List<QueryFilter> wheres = queryCondition.getQueryFilter(obj.class);
if(wheres != null && wheres.size() > 0){
//模糊查询
for(int i = 0;i<wheres.size();i++){
QueryFilter q = wheres.get(i);
if("对象属性".equals(q.getFieldName)){
//设置此属性的模糊查询
q.setOperator("^");
}
//排序
qc.addOrder("排序字段","排序规则");
//构造查询where语句
CrudUtils.addQCWhere(qc,Wheres,Obj.class.getName());
}
String orders = queryCondition.getSorter();
//替换分隔符构建排序语句
if(orders != null){
qc.addOrder(Order.replaceAll("&",","))
}
return qc;
} public QueryCriteria wrapPage(QueryCriteria qc,RequestCondition queryCondition ){
int pageIndex = 1,pageSize = 1;
if(queryCondition.getPageIndex() != null&&queryCondition.getPageSize() != null){
pageIndex=queryCondition.getPageIndex();
pageSize=queryCondition.getPageSize();
qc.addPage(pageIndex,pageSize);
}
return qc;
}
一个简单的模糊+分页查询
工作笔记—hibernate之QueryCriteria的更多相关文章
- 工作笔记3.手把手教你搭建SSH(struts2+hibernate+spring)环境
上文中我们介绍<工作笔记2.软件开发经常使用工具> 从今天開始本文将教大家怎样进行开发?本文以搭建SSH(struts2+hibernate+spring)框架为例,共分为3步: 1)3个 ...
- 2016年第2周读书笔记与工作笔记 scrollIntoView()与datalist元素
这一周主要是看了html5网页开发实例与javascript 高级程序设计,供以后翻阅查找. html5网页开发实例第1章与第二章的2.1部分: 第1章内容: html5在w3c的发展史. 浏览器的 ...
- javascript - 工作笔记 (事件四)
在javascript - 工作笔记 (事件绑定二)篇中,我将事件的方法做了简单的包装, JavaScript Code 12345 yx.bind(item, "click&quo ...
- Sencha Touch2 工作笔记
Sencha Touch2 工作笔记 Ext.dataview.List activate( this, newActiveItem, oldActiveItem, eOpts ) Fires whe ...
- 工作笔记5.JAVA图片验证码
本文主要内容为:利用JAVA图片制作验证码. 设计思路: 1.拷贝AuthImageServlet.class图片验证码 2.配置web.xml 3.JSP中,调用封装好的AuthImageServl ...
- 读书笔记——《MySQL DBA 工作笔记》
关于前言 作者在前言中提出的一些观点很具有参考价值, 梳理完整的知识体系 这是每一个技术流都应该追逐的,完整的知识体系能够使我们对知识的掌握更加全面,而不仅仅局限于点 建立技术连接的思维,面对需求,永 ...
- 《工作笔记:移动web页面前端开发总结》
工作笔记:移动web页面前端开发总结 移动web在当今的发展速度是一日千里,作为移动领域的门外汉,在这段时间的接触后,发现前端开发这一块做一个小小的总结. 1.四大浏览器内核 1.Trident (I ...
- 【工作笔记】BAT批处理学习笔记与示例
BAT批处理学习笔记 一.批注里定义:批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD,这些命令统称批处理命令. 二.常见的批处理指令: 命令清单: 1.RE ...
- Hibernate学习笔记-Hibernate关系映射
1. 初识Hibernate——关系映射 http://blog.csdn.net/laner0515/article/details/12905711 2. Hibernate 笔记8 关系映射1( ...
随机推荐
- js中自执行函数写法
//自执行写法1 (function T(){ alert(1) })() //自执行写法2 var T1=function(){ alert(1) }(); //传值 var para1={a:1; ...
- springMVC的一些入门配置
1.springMVC的描述 1.1.SpringMVC是Spring框架内置的MVC的实现.SpringMVC就是一个Spring内置的MVC子框架. 1.2.SpringMVC的作用是实现页面和后 ...
- 2.5 Go 算术运算与变量使用技巧
变量作用域 简单来说,GO的变量以块为范围:一个if-else的块,就可以包含一个变量的生命周期.变量的声明,要在使用之前. package main import ( "fmt" ...
- golang bufio.Scanner
一, 我们一般会这么用,接收 标准输入的东西: scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { fmt.Println(scann ...
- openerp学习笔记 模块结构分析
以OpenERP7.0中的 hr_expense 模块为例: 如图中代码所示: __init__.py :和普通 Python 模块中的__init__.py 作用相同,主要用于引用模块根目录下的.p ...
- (转)【面试】【MySQL常见问题总结】【03】
[常见面试问题总结目录>>>] [面试][MySQL常见问题总结][03] 2016-05-29 22:20 阅读(8244) 评论(2) [面试][MySQL常见问题总结][02] ...
- 如何正确且高效地中文汉化Spyder 2 或 Spyder3(图文详解)(博主推荐)
不多说,直接上干货! 汉化下载和教程页面 : https://github.com/kingmo888/Spyder_Simplified_Chinese 汉化文件最新版直接下载 : https: ...
- 4、在Shell程序中的使用变量
学习目标变量的赋值变量的访问变量的输入 12-4-1 变量的赋值在Shell编程中,所有的变量名都由字符串组成,并且不需要对变量进行声明.要赋值给一个变量,其格式如下:变量名=值.注意:等号(=)前后 ...
- C 标准库 - string.h之strrchr使用
strrchr Locate last occurrence of character in string, Returns a pointer to the last occurrence of c ...
- Mybatis JdbcType与Oracle、MySql数据类型对应列表
1. Mybatis JdbcType与Oracle.MySql数据类型对应列表 Mybatis JdbcType Oracle MySql JdbcType ARRAY JdbcType B ...