1.查询所有记录,并以列表形式查询

DaoImpl

 public PageBean queryByPage(String hql, List<Object> listobj, int pageSize, int page) {
try {
SQLQuery query = this.getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery(hql);
final int offset = PageBean.countOffset(pageSize, page);
final int length = pageSize; for(int i =0;i <listobj.size();i++) {
if(listobj.get(i) instanceof java.sql.Date) {
query.setDate(i,(Date)listobj.get(i));
}else {
query.setParameter(i,listobj.get(i));
}
} query.setFirstResult(offset);
query.setMaxResults(length);
List list = query.list(); List<ZdwhModel> listbd=new ArrayList<ZdwhModel>();
ZdwhModel obj=null;
Object arrobj[]=null;
for(int i=0;i<list.size();i++){
arrobj=(Object[])list.get(i);
obj=new ZdwhModel();
BigDecimal decimal = (BigDecimal) arrobj[0];
obj.setId(decimal.longValue());
obj.setDic_type((String)arrobj[6]);
obj.setItem_code((String)arrobj[2]);
obj.setItem_name((String)arrobj[3]);
obj.setMemo((String)arrobj[4]);
listbd.add(obj);
}
//count
String countHql="select count(*) "+hql.substring(hql.indexOf("from"),hql.indexOf("order"));
query=null;
query = this.getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery(countHql); for(int i =0;i <listobj.size();i++) {
if(listobj.get(i) instanceof java.sql.Date) {
query.setDate(i,(Date)listobj.get(i));
}else {
query.setParameter(i,listobj.get(i));
}
} List listcount = query.list(); int allRow = ((BigDecimal)listcount.get(0)).intValue();
final int currentPage = PageBean.countCurrentPage(page); int totalPage = PageBean.countTotalPage(pageSize, allRow);//
PageBean pageBean = new PageBean();
pageBean.setPageSize(pageSize);
pageBean.setAllRow(allRow);
pageBean.setTotalPage(totalPage);
pageBean.setCurrentPage(currentPage);
pageBean.setList(listbd);
pageBean.init();
return pageBean; } catch (Exception e) {
e.printStackTrace();
}
return null;
}

ServiceImpl

    public String getHql(Map<String, Object> map,List<Object> listobj){
String hql = "";
hql+=" order by id";
return hql;
} public PageBean queryForPage(int pageSize, int page,Map<String, Object> map){
List<Object> listobj = new ArrayList<Object>();
String hql = getHql(map, listobj);
PageBean pageben = zdwhdao.queryByPage(hql, listobj, pageSize, page);
return pageben;
}

2.预处理查询、并且查询结果 当确定返回的实例只有一个或者null时 用uniqueResult()方法

 public UserModel islogin(String dwdm,String uname, String upwd) {
String hql="from UserModel where uname=? and upwd=? and dwdm=?";
Query query=this.getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(hql);
query.setString(0, uname);
query.setString(1, upwd);
query.setString(2, dwdm);
return(UserModel)query.uniqueResult();
}

关于在DWZ使用ssh后台查询的几种方式的更多相关文章

  1. MyBatis实现模糊查询的几种方式

    在学习MyBatis过程中想实现模糊查询,可惜失败了.后来上百度上查了一下,算是解决了.记录一下MyBatis实现模糊查询的几种方式. 数据库表名为test_student,初始化了几条记录,如图: ...

  2. java后台输入数据的2种方式

    java后台输入数据的2种方式 (1) import java.io.BufferedReader; import java.io.InputStreamReader; public class 输入 ...

  3. Hibernate 检索查询的几种方式(HQL,QBC,本地SQL,集成Spring等)

    1.非集成Spring hibernate的检索方式,主要有以下五种. 1.导航对象图检索方式.(根据已经加载的对象,导航到其他对象.) 2.OID检索方式.(按照对象的OID来检索对象.) 3.HQ ...

  4. Hibernate的条件查询的几种方式+查询所有的记录

    条件查询 . 第一种,用?占位符,如: //登录(用?占位符) public List<UserPO> LoginUser(UserPO up)throws Exception{ Sess ...

  5. Android之——ContentResolver查询的三种方式

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47785491 今天做到一个小项目.查询手机中短信的信息,当然得去系统暴露出来的数据 ...

  6. SpringBoot集成Mybatis实现多表查询的两种方式(基于xml)

     下面将在用户和账户进行一对一查询的基础上进行介绍SpringBoot集成Mybatis实现多表查询的基于xml的两种方式.   首先我们先创建两个数据库表,分别是user用户表和account账户表 ...

  7. 五 Mybatis一对一关联查询的两种方式(基于resultType&基于resultMap)

    关联查询: 一个用户对应多个订单,一个订单只有一个用户 订单关联用户:两种方式 一:基于resultTYpe,一个与表关系一样的pojo实现 主表订单,从表用户 首先要有一个与关联查询表关系一样的po ...

  8. Linux 进程后台运行的几种方式 screen

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/80580779 本文出自[赵彦军的博客] screen是Linux窗口管理器,用户可 ...

  9. SQL分页查询的几种方式

    需求:查询表dbo.Message,每页10条,查询第2页 1:TOP() ) * FROM dbo.Message WHERE Code NOT IN () Code FROM dbo.Messag ...

随机推荐

  1. URAL 2046 A - The First Day at School 模拟题

    A - The First Day at SchoolTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudg ...

  2. .Net语言 APP开发平台——Smobiler学习日志:开发APP时,如何快速地实现屏幕自适应

    最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.属性介绍 设置控件在客户端屏幕可见并超出客户端屏幕时,是否自动调节高度以适应屏幕高 ...

  3. oracle internal :VIEW: X$KCBLDRHIST - Direct Read HISTory

    WebIV:View NOTE:159900.1     Note (Sure) - Note    Mods - Note Refs Error ORA 600 TAR TAR-Info Bug B ...

  4. Python 学习之二:Python超短教程

    前言 本教程综合Stanford CS231N和UC Berkerley CS188的Python教程. 教程非常短,但适合有一定编程基础.学过其它语言的童鞋. Python 启动Python 解释器 ...

  5. mydumper原理5

    前言 之前介绍了Oracle官方的多线程逻辑导入导出工具mysqlpump,但已经操作过的同学会发现其多线程的单位还是表,换句话说, 单表依然是 单线程导出 .网易早已使用mydumper/myloa ...

  6. IOS网络请求框架AFNetworking和ASIHttpRequest对比

    ASI基于CFNetwork框架开发,而AFN基于NSURL. ASI更底层,请求使用创建CFHTTPMessageRef进行,使用NSOperationQueue进行管理,ASIHTTPReques ...

  7. B. Little Dima and Equation

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  8. Steps to disable DRLs with GM Tech2 scanner

    It is possible to get daytime running time disabled manually. But the problem can be easily settled ...

  9. 解决TableView / ScrollView上的Menu问题(1滑出View区域还可点击2导致点击menu后View不能滑动)

    解决TableView / ScrollView上的Menu问题 1划出区域还可点击 重写CCMenu的触摸事件函数 TouchBegin/TouchMove/TouchCancle/TouchEnd ...

  10. Android(java)学习笔记72:线程的状态转换图以及常见执行情况

    1. 线程的状态转换图以及常见执行情况: 2. 线程状态类型: (1)新建状态(New):新创建了一个线程对象.(2)就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start() ...