HQL 参数绑定、唯一结果、分页、投影总结(下)

分页:

  在用hibernate封装的分页方法前,我们先回顾一下,Oracle里面原生分页做法

1 --分页查询
2 --(pageNo-1)*pagesize=起始行   pageNo*pagesize=结束行
3 select * from(
4     select rownum rm,s.* from(
5         select * from myfirsttb order by stuage desc)  s
6         where rownum<=5)
7 where rm>=2;
8         

  一般使用三层来做分页查询

  现在我们了解Hibernate提供的分页怎么做

  query对象提供了分页查询的方法

  1.起始行:

    setFirstResult();

  2.页显示最大记录

    setMaxResult();

1 //起始行(page-1)*col
2 query.setFirstResult((1-1)*2);
3 //最多每页多少条 col
4 query.setMaxResults(2);

  这两句代码放在query.list();前面执行

  然后就可以的到分页查询返回的数据 了!

  仔细观察hibernate执行的ql语句,你会发现与原生分页语句是差不多的!

  

时间: 2024-11-10 07:56:49

HQL 参数绑定、唯一结果、分页、投影总结(下)的相关文章

HQL参数绑定

hibernate HQL查询的参数绑定 (2010-07-15 09:20:16) 转载▼ 标签: 杂谈 分类: JAVA  参数绑定: Hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的参数绑定: PrepareStatement pre=connection.prepare(“select * from User where user.name=?”); pre.

HQL参数绑定是几种?有什么不同?

(1)占位符"?"通过Query对象,使用"?"占位符,我们可以先设定查询参数,之后通过setType()方法设置指定的参数需要注意的是,必须保证每个占位符都设置了参数值,而且必须依照"?"所设定顺序,使用对应参数类型的setType()方法设定.设置参数值时,下标从0开始,而不是使用PreparedStatment对象时的从1开始(2)命名参数例子:"select user.password from User as user whe

HQL 参数绑定、唯一结果、分页、投影总结(上)

我们先总结一下HQL语句常用语法: from子句:; select子句:用于选取对象和属性; where子句:用于表达查询语句的限制条件; 使用表达式:一般用在where子句中; order by子句:用于排序; 下面根据我的某个项目的一张表进行总结才学习的HQL查询: 1.准备数据: 数据库(Oracle): 1 --类型表 2 create table tb_type( 3 id number(4) not null primary key, 4 typename varchar2(10)

easyui将查询参数绑定到分页控件

一 在进行条件查询(带分页)时,有时候会出现一种情况:根据查询条件查找得到第一页数据,当你点击下一页后,不会携带查询条件进行分页. 解决方案: 获取查询条件   var data=$('#search').serializeJson(); 将查询条件绑定到分页控件上 var queryParams = $('#datagrid_id').datagrid('options').queryParams;//获取查询参数,接下来就是设置进去 for (var temp in data) {     

hibernate HQL查询的参数绑定

参数绑定: Hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的参数绑定: PrepareStatement pre=connection.prepare(“select * from User where user.name=?”); pre.setString(1,”zhaoxin”); ResultSet rs=pre.executeQuery(); 在Hibern

hibernate之参数绑定(转)

我们应该拒绝SQL(或HQL)的拼装,应该永远不要编写这样的代码,有这很严重的安全问题,众所周知的SQL注入.我们可以考虑参数绑定,在hibernate中它有两种方式. 1.具名参数 利用具名参数的例子: [java] view plaincopy String queryString = "from Item item where item.description like :search"; [java] view plaincopy String queryString = &q

hibernate参数绑定

参数绑定有三种方法,在此讲效率较高的,也就是常用的两种方法: 持久化类: package entity; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; //HQl查询图书信息 @Entity @

SpringMVC基本参数绑定(7种)

SpringMVC基本参数绑定(7种) 1.默认参数支持 HttpServletRequest HttpServletResponse HttpSession 示例: @RequestMapping("edit.action") public ModelAndView editShop(HttpServletRequest request){ ? String name= request.getParameter("id"); } 2.绑定基本类型(int,stri

Hibernate-ORM:07.Hibernate中的参数绑定

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客会讲解Hibernate中的参数绑定,就是相当于sql语句中的where后面的条件 一,讲解概述: 1.通过下标的方式绑定参数 2.通过自定义参数名的方式绑定参数(多用于多表操作) 3.通过传入自定义对象的方式绑定参数(多用于单表操作) 4.通过类似智能标签的方式绑定参数(多用于带条件的多表操作) 二,通过下标的方式绑定参数 @Test /*通过下标的方式指定参数*/ public void t01