关于在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() ...