⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 houseoptiondao.java

📁 用户可以登陆注册对房屋信息的增删改查功能
💻 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 + -