public Map searchFlightChangeInfoFenye(Map paramMap);
/**
* flightInfo search 航班信息搜索控制
* */
public ActionForward flightInfoSearch(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
//得到搜索提供的参数
String pageString=request.getParameter("page");
int page=1;
if (pageString!=null) {
page=Integer.parseInt(pageString);
int size=3;
String passenger=request.getParameter("passenger"); //乘客姓名
String Passenger=null;
if (passenger.length()>0) {
Passenger=passenger;
}
String flightNo=request.getParameter("flightNo"); //航班号
String FlightNo=null;
if (flightNo.length()>0) {
FlightNo=flightNo;
}
String ticketNo=request.getParameter("ticketNo"); //票号
String TicketNo=null;
if (ticketNo.length()>0) {
TicketNo=ticketNo;
}
String ticket_All=request.getParameter("ticket_All"); //总票
String Ticket_All=null;
if (ticket_All.length()>0) {
Ticket_All=ticket_All;
}
String takeOff_time=request.getParameter("takeOff_time"); //起飞时间
String TakeOff_time=null;
if (takeOff_time.length()>0) {
TakeOff_time=takeOff_time;
}
String input_time=request.getParameter("input_time"); //输入时间
String Input_time=null;
if (input_time.length()>0) {
Input_time=input_time;
}
String input_time02=request.getParameter("input_time02"); //输入时间至
String Input_time02=null;
if (input_time02.length()>0) {
Input_time02=input_time02;
}
Map paramsMap=new HashMap();
paramsMap.put("page", page);
paramsMap.put("size", size);
paramsMap.put("Passenger", Passenger); //乘客姓名
paramsMap.put("FlightNo", FlightNo); //航班号
paramsMap.put("TicketNo", TicketNo); //票号
paramsMap.put("Ticket_All", Ticket_All); //总票款
paramsMap.put("TakeOff_time", TakeOff_time); //起飞时间
paramsMap.put("Input_time", Input_time); //导入时间
paramsMap.put("Input_time02", Input_time02); //导入时间至
Map flightMap=iflightInfoService.flightInfoSearchFenye(paramsMap);
request.setAttribute("flightMap", flightMap);
}
/*int flag=Integer.parseInt(request.getSession().getAttribute("lim").toString());
System.out.println("fffffffffffffffffffffffffffff");
System.out.println(flag);
if (flag==1) {
return new ActionForward("/flight_info_1.jsp");
}else if (flag==2) {
return new ActionForward("/flight_info_2.jsp");
}else if (flag==3) {
return new ActionForward("/flight_info_3.jsp");
}*/
return new ActionForward("/flight_info.jsp");
}
public Map searchFlightChangeInfoFenye(Map paramMap) {
// TODO Auto-generated method stub
// 第几页
Integer page = (Integer) paramMap.get("page");
System.out.println("page--="+page);
Integer size = (Integer) paramMap.get("size");
//公司名称
String voyage_company=(String) paramMap.get("voyage_company");
System.out.println("voyage_company:"+voyage_company);
//操作人名称
String handlerString=(String) paramMap.get("handler");
//手机号码
String receive_cellphoneString=(String) paramMap.get("receive_cellphone");
//状态
int flight_state= -1;
String flight_stateString=(String) paramMap.get("flight_state");
if (flight_stateString!=null && flight_stateString.length()>0) {
flight_state=Integer.parseInt(flight_stateString);
}
//操作时间
System.out.println("paramMap-------------:"+paramMap.get("handle_time"));//("(String) paramMap.get("handle_time"):"+(String) paramMap.get("handle_time"));
String handle_timeString= (String) paramMap.get("handle_time");
System.out.println("-----------------------");
Date handle_time=null;
if (handle_timeString!=null ) {
handle_time=java.sql.Date.valueOf(handle_timeString);//handle_timeString;
System.out.println("handle_time==="+handle_time);
}
//接受时间开始
String accept_timeString=(String) paramMap.get("accept_time");
Date accept_time=null;
if (accept_timeString!=null) {
accept_time=java.sql.Date.valueOf(accept_timeString);
System.out.println("accept_time==="+accept_time);
}
//接受时间结束
String accept_time02String=(String) paramMap.get("accept_time02");
Date accept_time02=null;
if (accept_time02String!=null) {
accept_time02=java.sql.Date.valueOf(accept_time02String);
System.out.println("accept_time02==="+accept_time02);
}
//拼hql ----按条件追加------------------------------------------------
String hqlcount="select count(*) from TbFlightChangeInfo where 1=1 ";
String hqlString="from TbFlightChangeInfo where 1=1 ";
System.out.println("]]]]]]]]]]]");
//定义数组接收查询参数
List values=new ArrayList();
//判断公司名称是否具备例如查询条件
if (voyage_company!=null && voyage_company.length()>0) {
hqlString=hqlString+" and voyageCompany like ? ";
hqlcount=hqlcount+" and voyageCompany like ? ";
values.add(voyage_company+"%");
}
//判断操作者是否具备例如查询条件
if (handlerString !=null && handlerString.length()>0) {
hqlString=hqlString+" and handler=?";
hqlcount=hqlcount+" and handler=?";
values.add(handlerString);
}
//判断输入手机号码是否具备例如查询条件
if (receive_cellphoneString !=null && receive_cellphoneString.length()>0) {
hqlcount=hqlcount+" and receiveCellphone=? ";
hqlString=hqlString+" and receiveCellphone=? ";
values.add(receive_cellphoneString);
}
//判断状态是否具备例如查询条件
if (flight_state != -1) {
hqlString=hqlString+" and flightState=? ";
hqlcount=hqlcount+" and flightState=? ";
values.add(flight_state);
}
//判断操作时间是否具备例如查询条件
if (handle_time!=null) {
hqlString=hqlString+" and handleTime=?";
hqlcount=hqlcount+" and handleTime=?";
values.add(handle_time);
}
//判断接收时间是否具备例如查询条件
if (accept_time!=null && accept_time02!=null) {
hqlString=hqlString+" and receiveTime between ? and ?";
hqlcount=hqlcount+" and receiveTime between ? and ?";
values.add(accept_time);
values.add(accept_time02);
}
else if (accept_time!=null && accept_time02==null) {
hqlString=hqlString+" and receiveTime >= ?";
hqlcount=hqlcount+" and receiveTime >= ?";
values.add(accept_time);
}
else if (accept_time==null && accept_time02!=null) {
hqlString=hqlString+" and receiveTime <= ?";
hqlcount=hqlcount+" and receiveTime <= ?";
values.add(accept_time02);
}
System.out.println("hqlString:"+hqlString);
//设问号 ------------------------------------------------------
Query query=getSession().createQuery(hqlString);
Query queryCount=getSession().createQuery(hqlcount);
if (values.size()>0) {
System.out.println("values.size()"+values.size());
for (int i = 0; i < values.size(); i++) {
queryCount.setParameter(i,values.get(i));
query.setParameter(i,values.get(i));
}
}
/*String hql2="from TbFlightChangeInfo";
List list0= getHibernateTemplate().find(hql2);
System.out.println("query2.uniqueResult():"+list0.size());*/
//总条数
// List sumList=getHibernateTemplate().find(hql2);
// int sum=sumList.size();
Object countObject =queryCount.uniqueResult();
int sum = Integer.parseInt(countObject.toString());
System.out.println("sum:"+sum);
//总页数
int count=sum%size==0?sum/size:sum/size+1;
System.out.println("count:"+count);
//越界检查
if (page<1) {
page=1;
}
if (page>count) {
page=count;
}
//查
query.setFirstResult((page-1)*size).setMaxResults(size);
List list=query.list();
//保存至map
Map resultMap=new HashMap();
resultMap.put("list",list);
resultMap.put("page",page);
resultMap.put("size",size);
resultMap.put("count",count);
resultMap.put("sum",sum);
return resultMap;
}
分享到:
相关推荐
HQL也支持`WHERE`子句,用于添加过滤条件。例如: ```java String hql = "FROM User user WHERE user.age = 20"; ``` HQL支持多种表达式和操作符,包括但不限于`BETWEEN`、`IN`、`IS NULL`、`LIKE`等,这使得HQL...
### HQL查询及语法详解 #### 一、HQL简介 HQL,全称为Hibernate Query Language,是Hibernate框架提供的一种面向对象的查询语言。它基于SQL标准,但更加强调对象模型,支持Java中的对象关系映射(ORM),能够处理...
HQL查询 帮助文档
在探讨NHibernate HQL条件查询时,我们首先要理解NHibernate框架以及HQL(Hibernate Query Language)的基本概念。NHibernate是一个开放源代码的对象关系映射(ORM)解决方案,它为.NET平台提供了一种将对象模型与...
### Hibernate HQL 关联查询详解 #### 一、引言 在进行数据库操作时,关联查询是必不可少的一部分,尤其在处理复杂的数据结构时更是如此。Hibernate作为一种流行的Java持久层框架,提供了强大的对象关系映射(ORM...
SSH笔记-HQL查询(基于位置参数查询、基于命名参数查询、分页查询、命名查询、投影查询报表查询、内/迫切内/左外/迫切左外连接查询)、QBC(QBC检索查询、统计查询、排序查询、HQL操作数据库)、本地SQL查询
在 HQL 查询中,需要定义查询语句,可以使用字符串拼接的方式动态生成查询语句,例如,使用 if 语句判断条件是否存在,然后将条件添加到查询语句中。最后,使用 GROUP BY 子句对查询结果进行分组。 在查询结果处理...
HQL 查询语言基础知识 HQL(Hibernate Query Language)是一种面向对象的查询语言,用于在 Hibernate 框架中查询数据库。HQL 查询语言基础知识是 Hibernate 中的基础组件之一,对于开发人员来说,掌握 HQL 查询语言...
这对于简单的条件查询非常有用。 **示例代码**: ```java List<User> userList = this.getHibernateTemplate().find("from bean.User u where u.name=?", "test"); ``` 或进行模糊查询: ```java List<User> user...
例如,你可以通过HQL轻松地查询所有用户或按条件过滤用户。 **使用HibernateUtil执行HQL** 1. **初始化HibernateUtil** HibernateUtil通常在应用启动时初始化SessionFactory。这涉及到配置hibernate.cfg.xml文件...
WHERE子句用于设置查询条件,支持比较运算符(=, !=, <, >, , >=)、逻辑运算符(AND, OR, NOT)以及空值判断(IS NULL, IS NOT NULL)。例如: ```sql SELECT p FROM Product p WHERE p.status = 'active' AND p....
### Hibernate HQL 查询详解 #### 一、HQL(Hibernate Query Language)简介 HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者使用类及其属性来编写查询语句,而不是传统的SQL语句。这使得...
在第一个示例中,我们看到一个名为 `findPerson` 的方法,该方法执行了一个 HQL 查询来查找满足特定条件的人。这里的 HQL 语句为: ```java "from syidt.modules.grp.basegrp.persistence.Person as person where ...
这种方式将查询条件直接拼接到HQL字符串中,虽然看起来更为简洁,但在安全性方面可能存在隐患,因为这容易导致SQL注入攻击。因此,在实际开发中应尽量避免直接拼接字符串的方式,而是采用参数绑定的方式。 ### 示例...
**HQL查询语言基础** HQL(Hibernate Query Language)是Hibernate框架中用于操作对象关系映射(ORM)的查询语言,它与SQL类似,但专为面向对象编程设计。HQL允许开发者以类和对象的方式编写查询,而不是直接处理...
hql查询多个实体类,类之间有外键关系,但是没有外键关联
与传统的SQL语言不同,HQL更加注重于面向对象的特性,它支持Java类名和属性名作为查询条件,使得开发者可以直接使用Java对象模型来编写查询语句,而不需要了解底层数据库的具体表结构。HQL的这种特性大大提高了代码...
在IT领域,特别是数据库操作与查询中,HQL(Hibernate Query Language)作为一种强大的查询语言,被广泛应用于基于Hibernate框架的数据访问层。HQL允许开发者使用类似SQL的语法进行数据库操作,但更贴近于面向对象的...