关于在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 ...
随机推荐
- SAP BW标准模型简介(BW星形模型 BW Star Schema )
标准星型模型是 数据仓库中一种常用的组织信息和数据的多维数据模型.它由中心的一个事实表(Fact Table)和一些围绕它的维度表(Dimensional Table)组成. 事实(Fact)着眼于 ...
- 读《C# 和 Java 的比较》有感
网上的一篇<C# 和 Java 的比较>(或者叫<Java 和 C# 的比较>)写的挺不错的,今天忽然搜索到. 自己刚刚接触C#,也不由自主地随时都拿来和Java做对比,所以就 ...
- phpcms v9和discuz X3.1实现同步登陆退出论坛(已实现)
网络上文章很多,按步骤配置好了之后phpcms可以同步登录dz,但是dz登录后状态却无法同步到phpcms,网络上找了很多资料都大同小异,头大.只能自己调试了,废话不多说了. 以下网络上抄 ...
- 【模式识别】Learning To Rank之RankBoost
RankBoost的思想比較简单,是二元Learning to rank的常规思路:通过构造目标分类器,使得pair之间的对象存在相对大小关系.通俗点说,把对象组成一对对的pair,比方一组排序r1& ...
- USACO prefix TrieTree + DP
/* ID:kevin_s1 PROG:prefix LANG:C++ */ #include <iostream> #include <cstdio> #include &l ...
- Gradient Boost Decision Tree(&Treelink)
http://www.cnblogs.com/joneswood/archive/2012/03/04/2379615.html 1. 什么是Treelink Treelink是阿里集团内部 ...
- 用CAS操作实现Go标准库中的Once
Go标准库中提供了Sync.Once来实现"只执行一次"的功能.学习了一下源代码,里面用的是经典的双重检查的模式: // Once is an object that will p ...
- selenium python 环境搭建
说真的关于这个网上有太多的文章了,不想在这上面浪费过多的精神,简单说一下: 1.下载python(我的2.7) 2.下载python的基础工具包(setuptools) 3.下载python的安装包管 ...
- Debian apt-get 无法补全
今天发现在终端里输入apt-get inst后按Tab键无法自动补全成 install,纳闷之余google了一下(我承认开始是baidu...),原来是没有安装 bash-completion. s ...
- 【Java Tips】boolean的类型与string类型的转换
boolean类型转化为string boolean b = true; String s = String.valueOf(b); System.out.println(s);