关于在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 ...
随机推荐
- HDU 4121 Xiangqi 模拟题
Xiangqi Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4121 ...
- C#实现汉诺塔问题
汉诺塔的由来:汉诺塔是源自印度神话里的玩具.上帝创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上安大小顺序摞着64片黄金圆盘.上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上.并且 ...
- Android腾讯微博开发之随机字符串与签名实现
Android腾讯微博开发入门之随机字符串与签名实现 直接上代码 1.Utils类,包括签名和随机字符串 import java.util.Random; import javax.cry ...
- iOS开发——网络Swift篇&NSURL进行数据请求(POST与GET)
NSURL进行数据请求(POST与GET) 使用Swift进行iOS开发时,不可避免的要进行远程的数据获取和提交. 其数据请求的方式既可能是POST也可能是GET.同不管是POST还是GET又可以 ...
- gulp如何自定义插件
gulp是基于”流“的构建工具,上层流的输出就是下层流的输入,为了更好的支持链式操作,可以使用through2或者map-stream这两个库来对node stream做一层包装 这里,我们就使用th ...
- NonEmpty和Non Empty的区别[转]
One of my favourite questions in MDX is the difference between Non Empty and NonEmpty because even t ...
- 关于NuDaqPci 数据采集
最近在做公司一个fct的测试及调试软件 设计到的比较多的通信问题 1,Gpib通信(调用ADL-GPIB) 2,串口通信 3,Usb通信(调用USBXpress) 4,Pci通信(调用PCIS-DAS ...
- debian之source.list详解
之前安装的是debian sarge(内核是2.4.7),不太想更新,但是发现原来的源/ect/apt/source.lists如下,但是用apt-get update,发现大都已经不可用了.怎么办, ...
- 读logback源码系列文章(五)——Appender --转载
原文地址:http://kyfxbl.iteye.com/blog/1173788 明天要带老婆出国旅游几天,所以这段时间暂时都更新不了博客了,临走前再最后发一贴 上一篇我们说到Logger类的inf ...
- Cent OS安装TL-WN725N 2.0 USB驱动
TP Link官方没有提供TL-WN725N 2.0的Linux驱动下载,折腾了我半天,试了各种方法.也有一部分原因是因为这机器还不能联网,导致有一些驱动因为缺少依赖并不成功安装. 后来终于在gith ...