房屋代码

package com.dao;

import java.util.List;

import com.entity.TblHouse;
import com.entity.WhereParam;

public interface HouseDao {

public List<TblHouse> findHouses(String hql,int offset,int pageSize);

public int findRows();

//增加一条房源信息
public void saveHouse(TblHouse house);
//删除一条房源信息
public void delHouse(TblHouse house);
//修改一条房源信息
public void updateHouse(TblHouse house);
//查询一条房源信息
public TblHouse findHouse(Integer houseid);

public int findRows(String string);

public List<TblHouse> findHouses(String hql, int offset, int pageSize,
WhereParam wp);
}

====================================================

package com.dao.impl;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.dao.HouseDao;
import com.entity.TblHouse;
import com.entity.TblUsers;
import com.entity.WhereParam;

public class HouseDaoImpl extends HibernateDaoSupport implements HouseDao{

public List<TblHouse> findHouses(String hql, int offset, int pageSize) {
//1.获取数据库会话Session
Session session=this.getSession();
List<TblHouse> hlist=null;
try {
//2.创建Query执行对象
Query query=session.createQuery(hql);
//3.查询返回对象集合
hlist=query.setFirstResult(offset).setMaxResults(pageSize).list();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
session.close();//必须要关,不然几次之后就卡死了
}
return hlist;
}

public int findRows() {
//这个模板Template,就是把上面的代码再次封装的使用,但是只能给一个hql语句,而因为上面要分页没用封装
return this.getHibernateTemplate().find("from TblHouse").size();
}

public void saveHouse(TblHouse house) {
// TODO Auto-generated method stub
this.getHibernateTemplate().save(house);
}

public void delHouse(TblHouse house) {
// TODO Auto-generated method stub
this.getHibernateTemplate().delete(house);
}

public void updateHouse(TblHouse house) {
// TODO Auto-generated method stub
this.getHibernateTemplate().update(house);
}

public TblHouse findHouse(Integer houseid) {
return this.getHibernateTemplate().get(TblHouse.class, houseid);//获取实体的class和主键
}

public int findRows(String hql) {

return this.getHibernateTemplate().find(hql).size();
}

@SuppressWarnings("unchecked")
public List<TblHouse> findHouses(String hql, int offset, int pageSize,
WhereParam wp) {
Session session=this.getSession();
List<TblHouse> houselist=null;

try {
Query query=session.createQuery(hql);
query.setProperties(wp);//给hql语句赋值
houselist=query.setFirstResult(offset).setMaxResults(pageSize).list();
} catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
session.close();
}
return houselist;
}

}

=================================================

package com.service;

import java.util.List;

import com.entity.TblHouse;
import com.entity.WhereParam;

public interface HouseService {

//房源列表
public List<TblHouse> findHouses(int offset,int pageSize);
//房源总数
public int findRows();

//增加一条房源信息
public void saveHouse(TblHouse house);
//删除一条房源信息
public void delHouse(Integer houseid);//action传给service的是id,查一下,有才删除
//修改一条房源信息
public void updateHouse(TblHouse house);
//查询一条房源信息
public TblHouse findHouse(Integer houseid);

public int findRows(WhereParam wp);
//模糊查询
public List<TblHouse> findHouses(int offset, int pageSize, WhereParam wp);

}

===============================================

package com.service.impl;

import java.util.List;

import com.dao.HouseDao;
import com.entity.TblHouse;
import com.entity.WhereParam;
import com.service.HouseService;

public class HouseServiceImpl implements HouseService{

private HouseDao houseDao;

//set get后面用来依赖注入

public HouseDao getHouseDao() {
return houseDao;
}

public void setHouseDao(HouseDao houseDao) {
this.houseDao = houseDao;
}

public List<TblHouse> findHouses( int offset, int pageSize) {
String hql="from TblHouse th order by th.id desc";

return this.houseDao.findHouses(hql, offset, pageSize);
}

public int findRows() {
// TODO Auto-generated method stub
return this.houseDao.findRows();
}

//增删改查操作

public void saveHouse(TblHouse house) {
// TODO Auto-generated method stub
this.houseDao.saveHouse(house);
}

public void delHouse(Integer houseid) {
// TODO Auto-generated method stub
TblHouse house=this.houseDao.findHouse(houseid);
if(house!=null){
this.houseDao.delHouse(house);
}
}

public void updateHouse(TblHouse house) {
// TODO Auto-generated method stub
this.houseDao.updateHouse(house);
}

public TblHouse findHouse(Integer houseid) {
// TODO Auto-generated method stub
return this.houseDao.findHouse(houseid);
}

public int findRows(WhereParam wp) {

StringBuffer hql=new StringBuffer("from TblHouse th where 1=1");
if(wp.getUsername()!=null&&!"".equals(wp.getUsername())){
hql.append(" and th.user.username = ‘"+wp.getUsername()+"‘");
}
//模糊查询
if(wp.getTitle()!=null && !"".equals(wp.getTitle())){
hql.append(" and th.title like ‘%"+wp.getTitle()+"%‘");
}

return this.houseDao.findRows(hql.toString());
}

public List<TblHouse> findHouses( int offset, int pageSize,
WhereParam wp) {
StringBuffer hql=new StringBuffer("from TblHouse th where 1=1");
if(wp.getUsername()!=null&&!"".equals(wp.getUsername())){
hql.append(" and th.user.username = :username");
}
if(wp.getTitle()!=null && !"".equals(wp.getTitle())){
hql.append(" and th.title like concat(‘%‘,:title,‘%‘)");//拼接
}

return this.houseDao.findHouses(hql.toString(), offset, pageSize,wp);
}
}

=========================================================

package com.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

import org.apache.commons.io.IOUtils;
import org.apache.struts2.ServletActionContext;

import com.entity.TblHouse;
import com.entity.TblUsers;
import com.entity.WhereParam;
import com.opensymphony.xwork2.ActionSupport;
import com.service.HouseService;
import com.service.UsersService;

public class HouseAction extends ActionSupport{

private HouseService houseService;
private TblHouse house;//读取和返回对象的属性
private Integer houseid;//接收前台请求的房源主键id

//分页所需属性参数
private List<TblHouse> hlist; //1.对象集合
private int curPage=1; //2.当前页码
private int totalRows; //3.总条数
private int totalPage; //4.总页数
private int offset; //5.起始行
private int pageSize=5; //6.每页大小

//图片上传
private File pic;
private String picContextType;
private String picFileName;
//模糊查询对象
private WhereParam wp;
//模糊查询的用户列表
private List<TblUsers> ulist;
private UsersService usersService;

public String saveHouse() throws IOException{
//上传图片保存路径到服务器
imgUpload();
//7.持久化数据到数据库
this.houseService.saveHouse(house);
return SUCCESS;
}
//删除房源信息
public String delHouse(){
this.houseService.delHouse(houseid);
return SUCCESS;
}

public String updateHouse() throws IOException{
//上传图片保存路径到服务器
if(pic!=null){
imgUpload();
}
//7.持久化数据到数据库
this.houseService.updateHouse(house);
return SUCCESS;
}

//根据id查询房源信息
public String findHouse(){
house=this.houseService.findHouse(houseid);
return SUCCESS;
}

private void imgUpload() throws IOException {
//1.创建输入输出流对象
FileInputStream fis=null;
FileOutputStream fos=null;
//2.截取图片后缀名xxx.jpg
String suffix=this.picFileName.substring(this.picFileName.length()-4);
//3.创建新的图片文件名
String newFileName=System.currentTimeMillis()+suffix;
//4.获取文件保存路径C://newPic/upload/.jpg
String savePath=ServletActionContext.getServletContext().getRealPath("/upload/"+newFileName);
try {
//5.边读边写,上传图片
fis=new FileInputStream(pic);
fos=new FileOutputStream(savePath);
IOUtils.copy(fis, fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
fos.close();
fis.close();
}
//6.保存图片所在服务器相对路径,放入house对象
house.setPicPath("upload/"+newFileName);
}

public String findHouseList(){
//下拉列表,模糊查询所有的方法
ulist=usersService.findAllUsers();

//-----------------------

if(wp!=null){
//查询总条数
totalRows=houseService.findRows(wp);
//计算总页数
totalPage=(totalRows%pageSize==0) ? totalRows/pageSize : totalRows/pageSize+1;
//计算起始行(当前页码-1)*每页大小
offset=(curPage-1)*pageSize;
//获取数据列表
hlist=houseService.findHouses(offset, pageSize,wp);
}else{
findHouseNotParam();
}
return SUCCESS;
}
//没有对象属性的时候查询
private void findHouseNotParam() {
//查询总条数
totalRows=houseService.findRows();
//计算总页数
totalPage=(totalRows%pageSize==0) ? totalRows/pageSize : totalRows/pageSize+1;
//计算起始行(当前页码-1)*每页大小
offset=(curPage-1)*pageSize;
//获取数据列表
hlist=houseService.findHouses(offset, pageSize);
}

public List<TblHouse> getHlist() {
return hlist;
}

public void setHlist(List<TblHouse> hlist) {
this.hlist = hlist;
}

public int getCurPage() {
return curPage;
}

public void setCurPage(int curPage) {
this.curPage = curPage;
}

public int getTotalRows() {
return totalRows;
}

public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
}

public int getTotalPage() {
return totalPage;
}

public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}

public int getOffset() {
return offset;
}

public void setOffset(int offset) {
this.offset = offset;
}

public int getPageSize() {
return pageSize;
}

public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}

public HouseService getHouseService() {
return houseService;
}

public void setHouseService(HouseService houseService) {
this.houseService = houseService;
}

public TblHouse getHouse() {
return house;
}

public void setHouse(TblHouse house) {
this.house = house;
}

public Integer getHouseid() {
return houseid;
}

public void setHouseid(Integer houseid) {
this.houseid = houseid;
}
public File getPic() {
return pic;
}
public void setPic(File pic) {
this.pic = pic;
}
public String getPicContextType() {
return picContextType;
}
public void setPicContextType(String picContextType) {
this.picContextType = picContextType;
}
public String getPicFileName() {
return picFileName;
}
public void setPicFileName(String picFileName) {
this.picFileName = picFileName;
}
public WhereParam getWp() {
return wp;
}
public void setWp(WhereParam wp) {
this.wp = wp;
}
public List<TblUsers> getUlist() {
return ulist;
}
public void setUlist(List<TblUsers> ulist) {
this.ulist = ulist;
}
public UsersService getUsersService() {
return usersService;
}
public void setUsersService(UsersService usersService) {
this.usersService = usersService;
}

}

时间: 2024-10-28 10:32:34

房屋代码的相关文章

错误和问题解决的成本

问题描写叙述 错误 数据收集 根本原因 版本号   组件:数据修复           在一个实际成本组织中,(平均,先进先出,后进先出) 一个或更 多的下面情况可能发生: 1.导航到物料成本历史表单上的数量信息,与现有量表单的数量不匹配的记录 2. 一些物料前期已计成本的数量与前面的事务处理历史表单的数量不匹配 3. 全部的库存值报表与事务处理值报表不匹配 4. 存货层次成本更新表单的总数量与现有量数量表单不匹配(只在先进先出/后进先出) 5.这些症状的不论什么一个意味着 MMT-CQL不匹配

《代码整洁之道》读后感

众所周知,软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关.这一点,无论是敏捷开发派还是传统开发派,都不得不承认.<代码整洁之道>提出一种观念:代码质量与其整洁度成正比.干净的代码,既在质量上较为可靠,也为后期维护.升级奠定了良好的基础.作为编程领域的佼佼者,这些实践在<代码整洁之道>中体现为一条条规则(或称“启示”),并辅以来自现实项目的正.反两面的范例.只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量.以上便是<代码整洁之道>这本书的内容简介,

20160606 html5学习代码

index.html部分 <!--banner-->   <div class="banner">      <div id="slideBox" class="slideBox">            <div class="hd">                <ul><li></li><li></li><

.NET下的并行开发(案例代码)

以下主要是通过一个报表处理程序来说明并行开发的方式.对于数据冲突和共享,可以通过对象数组解决.设计到并行的核心代码已用红色标出.在并行程序的处理上,需要把原来串行的子公司变成一个一个类的对象,让所有的类对象一起并行运行就达到提高响应速率的目的了.并行设计中,主要的还是编程的思想,并行的语法,规则都是规划好的.好的工具就看你如何使用了. using System;using System.Data;using System.Configuration;using System.Collection

hihoCoder 1080 : 更为复杂的买卖房屋姿势 线段树区间更新

#1080 : 更为复杂的买卖房屋姿势 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho都是游戏迷,“模拟都市”是他们非常喜欢的一个游戏,在这个游戏里面他们可以化身上帝模式,买卖房产. 在这个游戏里,会不断的发生如下两种事件:一种是房屋自发的涨价或者降价,而另一种是政府有关部门针对房价的硬性调控.房价的变化自然影响到小Hi和小Ho的决策,所以他们希望能够知道任意时刻某个街道中所有房屋的房价总和是多少——但是很不幸的,游戏本身并不提供这样的计算.不过这难

mysql20170410练习代码+笔记

今天的几道高级sql查询真的挺难的,感觉好像视频里讲过,当时也没有练,已经淡化了很多,sql还是要多练习啊!确实逻辑性挺强的. SELECT studentResult,studentNO FROM result WHERE result.`subjectNo`=(SELECT subjectNo FROM `subject`) SELECT studentResult FROM result WHERE result.subjectNo = (SELECT subjectNo FROM SUB

代码大全读书笔记(一)

开始读时,并没有打算读完.因为书太厚了时间也不充足,当我看过前言后,发现可以跳读,所以我就从符合我身份的一章--11章读起 变量名的力量: 刚开始学C语言时,什么都不了解,所以对代码的细节养成也不是很好,写代码写变量名总是跟着感觉走,因为都是作业形式,所以起什么变量名都无所谓,下次也不会再看曾经写过的代码了.然而,当我的学习逐渐深入时,写的代码越来越长(当然也不会太长),记忆变量的含义就产生了困难,但是由于年轻,记忆力好,所以记得住就过去了.随着时间的流逝,总有一天在新的项目中发现其中的小部分很

专家回应任志强质疑:中国空置近5000万套房屋

专家回应任志强质疑:中国空置近5000万套房屋 宏观经济第一财经日报[微博]2014-10-27 02:02 我要分享 93 李秀中 中国官方并不发布空置房数据,而西南财经大学的一项数据引发了巨大争论.这场关乎中国经济关键数据的争议还在继续,日前,西南财大方面做出了进一步解释. 今年上半年,西南财大中国家庭金融调查与研究中心发布报告称,2013年,我国城镇住宅市场的整体空置率达到22.4%,城镇空置房为4898万套.对此,华远地产原董事长任志强(微博)称此绝不可能.争议由此发酵. 西南财大中国家

算法-打劫房屋III(深搜)

今天做了一道关于二叉树的题,之所以要记录下,这个题的解法真是太巧妙了 题意: 在上次打劫完一条街道之后和一圈房屋之后,窃贼又发现了一个新的可以打劫的 地方,但这次所有的房子组成的区域比较奇怪,聪明的窃贼考察地形之后,发现 这次的地形是一颗二叉树.与前两次偷窃相似的是每个房子都存放着特定金额的 钱.你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且当相邻 的两个房子同一天被打劫时,该系统会自动报警. 算一算,如果今晚去打劫,你最多可以得到多少钱,当然在不触动报警装置的情 况下. 样例: