分页时Dao中的查询方法

如下:

以User为例

@Repository
@Transactional
public class ReplyDao extends BaseDao {
/**
     * 分页查询用户
     */
    public List<User> listUsers(int pageNo, int pageCount) {
        String hql = "from User";
        Query query = getSession().createQuery(hql);
        if (pageNo > 0 && pageCount > 0) {
            query.setFirstResult((pageNo - 1) * pageCount);
            query.setMaxResults(pageCount);
        }
        return query.list();
    }
}

集成的BaseDao

package com.wql.tsp.dao;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

@Repository
@Transactional
public class BaseDao {
    @Autowired
    protected SessionFactory sessionFactory;

    protected Session getSession() {
        return sessionFactory.getCurrentSession();
    }
}
时间: 2024-12-05 14:27:23

分页时Dao中的查询方法的相关文章

mybatis从dao传入多个参数到sqlmap时dao中要使用map或实例对象(如:user)作为参数传入, 否则报错找不到属性getter方法

23:37 2015-07-02 注意1. 使用mybaits的resultMap查询时, 如果想传入多个参数(比如where 1=1动态多条件查询时)sqlmap文件中对应的方法中, selectList中一定要传实例对象(如person作为obj而不能用String等等只能一个参数的类)或map封装多参数传入map作为obj注意2. sqlmap中的方法的parameterType和jdbcType可以不用写

ExtJS学习--------Ext.Element中的查询方法学习(实例)

具体实例:(实验结果可复制代码后进行演示) Ext.onReady(function(){ Ext.create('Ext.panel.Panel',{//创建一个面板 title:'我的面板' , width:'100%' , height:400 , renderTo:Ext.getBody(), html:'<div id=d1><span id=sp>我是sp的内容</span><div id=d2>我是d2的内容</div></d

Hibernate中各种查询方法的整理

1.     使用HQL语句 Query q = session.createQuery("select e from com.sun.demo.Emp e"); 2.     使用Load方法(主键查询) Emp e = (Emp)session.load(Emp.class, 1141); 3.     使用get方法(主键查询) Emp e = (Emp)session.get(Emp.class, 1141); 4.     参数化查询(使用?通配符,或者命令通配符) Quer

loadrunner运行时设置中清空缓存方法

用函数web_cache_clearup()或run-time settings---browser emulation 把clear  cache on each iteration打勾 W v\]D[o0 _tn9C?;{0 在run-time   setting  中设置simulate  browser  cache  选项BrowserBrowser   Emulation:Simulate   browser  cache:配置Vuser模拟带缓存的浏览器.缺省缓存是被允许的,可以通

JDBC学习笔记(20):将DAO中的修改方法提取到抽象父类中

创建一个父类AbstractDao,通过传入更新语句和参数可以动态执行更新操作,与具体的对象无关. 1 package com.xxyh.jdbc.dao.refactor; 2 import java.sql.Connection; 3 import java.sql.PreparedStatement; 4 import java.sql.ResultSet; 5 import java.sql.SQLException; 6 import com.xxyh.jdbc.JdbcUtils;

Android Studio 中文件查询方法总结

搜索单词 Windows: Ctrl + F Mac   : Cmd + F 会在当前激活的文件上查询输入的关键字,以高亮显示 跳转行 Windows: Ctrl + L Mac   : Cmd + L 比Eclipse更加细致,可以先输入行号,然后输入冒号,最后跟上字符的位置 Navigate菜单中有更加细致的查询分类  可以看到,我们可以按照分类查询 Class . File . Symbol 以 Symbol 为示例,打开后输入关键字,AS会将结果以列表显示,当选择一个条目的时候,该条目的

DELPHI 数据集在内存中快速查询方法

1.Bookmark var p:pointer; procedure TForm1.Button1Click(Sender: TObject);//加个标签 begin   p:=cxGrid1DBTableView1.DataController.DataSet.GetBookmark; end;   procedure TForm1.Button2Click(Sender: TObject);//行焦点定位到标签 begin   cxGrid1DBTableView1.DataContro

关于SQL递归查询在不同数据库中的实现方法

比如表结构数据如下: Table:Tree ID Name ParentId 1 一级  0 2  二级 1 3  三级 2 4 四级 3 SQL SERVER 2005查询方法: //上查 with tmpTree as ( select * from Tree where Id=2 union all select p.* from tmpTree inner join Tree p on p.Id=tmpTree.ParentId ) select * from tmpTree //下查

hibernate中带查询条件的分页

所谓分页,从数据库中分,则是封装一个分页类.利用分页对象进行分页. 但,分页往往带查询条件. 分页类的三个重要数据:[当前页码数],[数据库中的总记录数],[每页显示的数据的条数] 原理:select * from  [表名] where   [字段名]  like   ['%条件%']    limit  [开始查询的索引],[每页显示的数据] 带查询条件的分页分两步 (1)第一步:查询出符合条件的数据的总条数 ---->select count(*) from [表名] where  [字段