关于在DWZ使用ssh后台查询的几种方式
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后台查询的几种方式的更多相关文章
- MyBatis实现模糊查询的几种方式
		在学习MyBatis过程中想实现模糊查询,可惜失败了.后来上百度上查了一下,算是解决了.记录一下MyBatis实现模糊查询的几种方式. 数据库表名为test_student,初始化了几条记录,如图: ... 
- java后台输入数据的2种方式
		java后台输入数据的2种方式 (1) import java.io.BufferedReader; import java.io.InputStreamReader; public class 输入 ... 
- Hibernate 检索查询的几种方式(HQL,QBC,本地SQL,集成Spring等)
		1.非集成Spring hibernate的检索方式,主要有以下五种. 1.导航对象图检索方式.(根据已经加载的对象,导航到其他对象.) 2.OID检索方式.(按照对象的OID来检索对象.) 3.HQ ... 
- Hibernate的条件查询的几种方式+查询所有的记录
		条件查询 . 第一种,用?占位符,如: //登录(用?占位符) public List<UserPO> LoginUser(UserPO up)throws Exception{ Sess ... 
- Android之——ContentResolver查询的三种方式
		转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47785491 今天做到一个小项目.查询手机中短信的信息,当然得去系统暴露出来的数据 ... 
- SpringBoot集成Mybatis实现多表查询的两种方式(基于xml)
		下面将在用户和账户进行一对一查询的基础上进行介绍SpringBoot集成Mybatis实现多表查询的基于xml的两种方式. 首先我们先创建两个数据库表,分别是user用户表和account账户表 ... 
- 五 Mybatis一对一关联查询的两种方式(基于resultType&基于resultMap)
		关联查询: 一个用户对应多个订单,一个订单只有一个用户 订单关联用户:两种方式 一:基于resultTYpe,一个与表关系一样的pojo实现 主表订单,从表用户 首先要有一个与关联查询表关系一样的po ... 
- Linux 进程后台运行的几种方式 screen
		转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/80580779 本文出自[赵彦军的博客] screen是Linux窗口管理器,用户可 ... 
- SQL分页查询的几种方式
		需求:查询表dbo.Message,每页10条,查询第2页 1:TOP() ) * FROM dbo.Message WHERE Code NOT IN () Code FROM dbo.Messag ... 
随机推荐
- 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 ... 
- .Net语言 APP开发平台——Smobiler学习日志:开发APP时,如何快速地实现屏幕自适应
			最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.属性介绍 设置控件在客户端屏幕可见并超出客户端屏幕时,是否自动调节高度以适应屏幕高 ... 
- 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 ... 
- Python 学习之二:Python超短教程
			前言 本教程综合Stanford CS231N和UC Berkerley CS188的Python教程. 教程非常短,但适合有一定编程基础.学过其它语言的童鞋. Python 启动Python 解释器 ... 
- mydumper原理5
			前言 之前介绍了Oracle官方的多线程逻辑导入导出工具mysqlpump,但已经操作过的同学会发现其多线程的单位还是表,换句话说, 单表依然是 单线程导出 .网易早已使用mydumper/myloa ... 
- IOS网络请求框架AFNetworking和ASIHttpRequest对比
			ASI基于CFNetwork框架开发,而AFN基于NSURL. ASI更底层,请求使用创建CFHTTPMessageRef进行,使用NSOperationQueue进行管理,ASIHTTPReques ... 
- B. Little Dima and Equation
			time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ... 
- 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 ... 
- 解决TableView / ScrollView上的Menu问题(1滑出View区域还可点击2导致点击menu后View不能滑动)
			解决TableView / ScrollView上的Menu问题 1划出区域还可点击 重写CCMenu的触摸事件函数 TouchBegin/TouchMove/TouchCancle/TouchEnd ... 
- Android(java)学习笔记72:线程的状态转换图以及常见执行情况
			1. 线程的状态转换图以及常见执行情况: 2. 线程状态类型: (1)新建状态(New):新创建了一个线程对象.(2)就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start() ... 
