📄 houseoptiondao.java
字号:
package com.qhit.kgdyffje.hibernater.dao;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import com.qhit.kgdyffje.common.common;
import com.qhit.kgdyffje.hibernater.util.BaseHibernateDAO;
import com.qhit.kgdyffje.service.pageInfo;
import com.qhit.kgdyffje.struts.form.SeacherActionForm;
import com.qhit.kgdyffje.vo.Areainfo;
import com.qhit.kgdyffje.vo.Channel;
import com.qhit.kgdyffje.vo.Houseinfo;
import com.qhit.kgdyffje.vo.Housetype;
public class HouseOptionDAO extends BaseHibernateDAO{
/**
* 根据ID删除 房屋信息
*/
public boolean delete(int id) {
return super.delete(id, Houseinfo.class);
}
/**
* 根据房屋ID 查询房屋详细信息
*/
public Houseinfo findById(int id) {
List list = super.search(id, Houseinfo.class);
if(null!=list&&list.size()==1){
return (Houseinfo)list.get(0);
}
return null;
}
/**
* 添加租房信息
*/
public boolean save(Houseinfo transientInstance) {
// TODO Auto-generated method stub
return super.save(transientInstance);
}
/**
* 修改房屋信息
*/
public boolean update(Houseinfo persistentInstance) {
// TODO Auto-generated method stub
return super.update(persistentInstance);
}
/**
* 根据 id 加载对象
*/
public Object load(int id,Class clazz){
return super.load(id, clazz);
}
/**
* 查询所有信息
*/
public List findAll(){
Session session = getSession();
try {
String queryString = "from Houseinfo order by udate desc";
Query queryObject = session.createQuery(queryString);
return queryObject.list();
} catch (RuntimeException re) {
throw re;
}
}
/**
* 根据条件 查询房屋信息 Hibernate QBC 查询
*/
public void setSeachList(SeacherActionForm actionForm,pageInfo page) {
// TODO Auto-generated method stub
Session session=this.getSession();
Criteria cri=session.createCriteria(Houseinfo.class);
if(null!=actionForm){
if(!common.isNullOrEmpty(actionForm.getTxtseach())){ //标题
if(!actionForm.getTxtseach().equals("请输入房源地址或小区名称")){
cri.add(Restrictions.like("title", "%"+actionForm.getTxtseach()+"%"));
}
}
if(0!=actionForm.getArea()){ //区县
//采用一对多映射,跟据区县得到街道
Areainfo area=(Areainfo)this.load(actionForm.getArea(), Areainfo.class);
Set s=area.getChannelSet();
Iterator it=s.iterator();
ArrayList al=new ArrayList();
while(it.hasNext()){
al.add(((Channel)it.next()));
}
cri.add(Restrictions.in("channel", al));
}
if(0!=actionForm.getChannel()){ //街道
Channel c=(Channel)this.load(actionForm.getChannel(), Channel.class);
cri.add(Restrictions.eq("channel", c));
}
if(0.0!=actionForm.getLess_hire()){ //租金
cri.add(Restrictions.ge("zj", actionForm.getLess_hire()));
}
if(0.0!=actionForm.getGreat_hire()){ //租金
cri.add(Restrictions.le("zj", actionForm.getGreat_hire()));
}
if(0!=actionForm.getHouse_shi()){ //卧室
cri.add(Restrictions.eq("shi", actionForm.getHouse_shi()));
}
if(0!=actionForm.getHouse_ting()){ //客厅
cri.add(Restrictions.eq("ting", actionForm.getHouse_ting()));
}
//类型
if(null!=actionForm.getHouse_type()&&actionForm.getHouse_type().length>0){
String[] temp=actionForm.getHouse_type();
ArrayList al=new ArrayList();
for(int i=0; i<temp.length; i++){
al.add((Housetype)this.load(Integer.parseInt(temp[i]), Housetype.class));
}
cri.add(Restrictions.in("housetype", al));
}
// 发布日期
if (0!=actionForm.getSend_date()) {
int udate=actionForm.getSend_date();//获得表单日期类型值,是1,30这样的数字
//第一种转换数据方式
Date date=new Date(); //获得今天的日期对象
long ltime=date.getTime();//得到从1900年到现在的毫秒数
long ltime1=udate*24*3600*1000;//得到1天的毫秒数
Date date2=new Date(ltime-ltime1);//新的日期对象代表选择的几天前的日期。
//转换成日期类型
cri.add(Restrictions.ge("udate", date2));
}
//第二种转换数据
// sql += " and fwxx.udate >= (sysdate-1-" +actionForm.getSend_date()+")";//多减1天,便于取整
}
//查询按时间降序
cri.addOrder(Order.desc("udate"));
//先清空以前的记录数
page.getPageRecordList().clear();
//设置总记录数
page.setRecordTotal(cri.list().size());
cri.setFirstResult((page.getCurrentPage()-1)*page.getPageRecordNum());
cri.setMaxResults(page.getPageRecordNum());
List list = cri.list();
//设置要显示的记录数
page.setPageRecordList(common.HandleDate(list));
}
/**
* 房屋信息管理页面的分页查询
*/
public void setPageList(pageInfo page){
Session session = this.getSession();
List list=session.createCriteria(Houseinfo.class).addOrder(Order.desc("udate")).setFirstResult((page.getCurrentPage()-1)*page.getPageRecordNum()).setMaxResults(page.getPageRecordNum()).list();
//先清空以前的记录数
page.getPageRecordList().clear();
//设置总记录数
page.setRecordTotal(this.findAll().size());
page.setPageRecordList(common.HandleDate(list));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -