新建一个项目,然后创建以下包结构和文件
House页:
package com.yiju.bean;
import java.math.BigDecimal;
/**
* 房屋表
*/
public class House {
private int houseId; //房源表唯一标识ID
private int userId; //发布此房源的用户ID
private int houseType; //房源类型 0:新房 1:旧房 2:租房
private String houseTitle; //房源帖子标题
private String houseHeadimg; //房源帖子头像
private String housePlanimg1; //房屋户型平面图1 外键
private String housePlanimg2; //房屋户型平面图2 外键
private String houseImg1; //房源室内图1
private String houseImg2; //房源室内图2
private String houseImg3; //房源室内图3
private String houseImg4; //房源室内图4
private String houseImg5; //房源室内图5
private String houseImg6; //房源室内图6
private BigDecimal housePrice; //房源预计售价
private String priceUnit; //售价单位 元/每月 元/每套 元/每年
private String houseAddress; //房源地址
private int isDelete; //0:未删除 1:已删除
private long createTime; //创建时间
private long updateTime; //更新时间
public int getHouseId() {
return houseId;
}
public void setHouseId(int houseId) {
this.houseId = houseId;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public int getHouseType() {
return houseType;
}
public void setHouseType(int houseType) {
this.houseType = houseType;
}
public String getHouseTitle() {
return houseTitle;
}
public void setHouseTitle(String houseTitle) {
this.houseTitle = houseTitle;
}
public String getHouseHeadimg() {
return houseHeadimg;
}
public void setHouseHeadimg(String houseHeadimg) {
this.houseHeadimg = houseHeadimg;
}
public String getHousePlanimg1() {
return housePlanimg1;
}
public void setHousePlanimg1(String housePlanimg1) {
this.housePlanimg1 = housePlanimg1;
}
public String getHousePlanimg2() {
return housePlanimg2;
}
public void setHousePlanimg2(String housePlanimg2) {
this.housePlanimg2 = housePlanimg2;
}
public String getHouseImg1() {
return houseImg1;
}
public void setHouseImg1(String houseImg1) {
this.houseImg1 = houseImg1;
}
public String getHouseImg2() {
return houseImg2;
}
public void setHouseImg2(String houseImg2) {
this.houseImg2 = houseImg2;
}
public String getHouseImg3() {
return houseImg3;
}
public void setHouseImg3(String houseImg3) {
this.houseImg3 = houseImg3;
}
public String getHouseImg4() {
return houseImg4;
}
public void setHouseImg4(String houseImg4) {
this.houseImg4 = houseImg4;
}
public String getHouseImg5() {
return houseImg5;
}
public void setHouseImg5(String houseImg5) {
this.houseImg5 = houseImg5;
}
public String getHouseImg6() {
return houseImg6;
}
public void setHouseImg6(String houseImg6) {
this.houseImg6 = houseImg6;
}
public BigDecimal getHousePrice() {
return housePrice;
}
public void setHousePrice(BigDecimal housePrice) {
this.housePrice = housePrice;
}
public String getPriceUnit() {
return priceUnit;
}
public void setPriceUnit(String priceUnit) {
this.priceUnit = priceUnit;
}
public String getHouseAddress() {
return houseAddress;
}
public void setHouseAddress(String houseAddress) {
this.houseAddress = houseAddress;
}
public int getIsDelete() {
return isDelete;
}
public void setIsDelete(int isDelete) {
this.isDelete = isDelete;
}
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
public long getUpdateTime() {
return updateTime;
}
public void setUpdateTime(long updateTime) {
this.updateTime = updateTime;
}
@Override
public String toString() {
return "House{" +
"houseId=" + houseId +
", userId=" + userId +
", houseType=" + houseType +
", houseTitle='" + houseTitle + '\'' +
", houseHeadimg='" + houseHeadimg + '\'' +
", housePlanimg1='" + housePlanimg1 + '\'' +
", housePlanimg2='" + housePlanimg2 + '\'' +
", houseImg1='" + houseImg1 + '\'' +
", houseImg2='" + houseImg2 + '\'' +
", houseImg3='" + houseImg3 + '\'' +
", houseImg4='" + houseImg4 + '\'' +
", houseImg5='" + houseImg5 + '\'' +
", houseImg6='" + houseImg6 + '\'' +
", housePrice=" + housePrice +
", priceUnit='" + priceUnit + '\'' +
", houseAddress='" + houseAddress + '\'' +
", isDelete=" + isDelete +
", createTime=" + createTime +
", updateTime=" + updateTime +
'}';
}
}
HouseInfo页:
package com.yiju.bean;
/**
* 房屋信息表
*/
public class HouseInfo {
private int infoId; //房源详细信息表唯一标识ID
private int houseId; //对应房源表唯一ID
private String houseNature; //房源性质:商品房 住宅房
private String houseModel; //普通式住宅 公寓式住宅 别墅 独栋
private int houseYear; //房源建造时间
private String houseValid; //房源期限: 70年、100年、永久
private String houseLayout; //房源户型:几室几厅几卫
private String houseArea; //房源面积
private String houseTurn; //朝向
private int houseFloor; //楼层
private int floorAll; //总楼层
private String houseDecorate; //装饰类型:精装 简装
private String houseLift; //是否有电梯: 0无 1有
private long createTime; //创建时间
private long updateTime; //更新时间
public int getInfoId() {
return infoId;
}
public void setInfoId(int infoId) {
this.infoId = infoId;
}
public int getHouseId() {
return houseId;
}
public void setHouseId(int houseId) {
this.houseId = houseId;
}
public String getHouseNature() {
return houseNature;
}
public void setHouseNature(String houseNature) {
this.houseNature = houseNature;
}
public String getHouseModel() {
return houseModel;
}
public void setHouseModel(String houseModel) {
this.houseModel = houseModel;
}
public int getHouseYear() {
return houseYear;
}
public void setHouseYear(int houseYear) {
this.houseYear = houseYear;
}
public String getHouseValid() {
return houseValid;
}
public void setHouseValid(String houseValid) {
this.houseValid = houseValid;
}
public String getHouseLayout() {
return houseLayout;
}
public void setHouseLayout(String houseLayout) {
this.houseLayout = houseLayout;
}
public String getHouseArea() {
return houseArea;
}
public void setHouseArea(String houseArea) {
this.houseArea = houseArea;
}
public String getHouseTurn() {
return houseTurn;
}
public void setHouseTurn(String houseTurn) {
this.houseTurn = houseTurn;
}
public int getHouseFloor() {
return houseFloor;
}
public void setHouseFloor(int houseFloor) {
this.houseFloor = houseFloor;
}
public int getFloorAll() {
return floorAll;
}
public void setFloorAll(int floorAll) {
this.floorAll = floorAll;
}
public String getHouseDecorate() {
return houseDecorate;
}
public void setHouseDecorate(String houseDecorate) {
this.houseDecorate = houseDecorate;
}
public String getHouseLift() {
return houseLift;
}
public void setHouseLift(String houseLift) {
this.houseLift = houseLift;
}
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
public long getUpdateTime() {
return updateTime;
}
public void setUpdateTime(long updateTime) {
this.updateTime = updateTime;
}
@Override
public String toString() {
return "HouseInfo{" +
"infoId=" + infoId +
", houseId=" + houseId +
", houseNature='" + houseNature + '\'' +
", houseModel='" + houseModel + '\'' +
", houseYear=" + houseYear +
", houseValid='" + houseValid + '\'' +
", houseLayout='" + houseLayout + '\'' +
", houseArea='" + houseArea + '\'' +
", houseTurn='" + houseTurn + '\'' +
", houseFloor=" + houseFloor +
", floorAll=" + floorAll +
", houseDecorate='" + houseDecorate + '\'' +
", houseLift='" + houseLift + '\'' +
", createTime=" + createTime +
", updateTime=" + updateTime +
'}';
}
}
controller包下的HouseViewController页:
package com.yiju.controller;
import com.github.pagehelper.PageInfo;
import com.yiju.pojo.HouseView;
import com.yiju.service.IHouseViewService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
@Controller
@RequestMapping("house")
public class HouseViewController {
@Autowired
private IHouseViewService houseViewService;
@RequestMapping("findFourHouse.do")
public ModelAndView findFourHouse(){
ModelAndView mv=new ModelAndView();
List<HouseView> newHouses=houseViewService.findFourHouseByType(0);
List<HouseView> oldHouses=houseViewService.findFourHouseByType(1);
List<HouseView> rentHouses = houseViewService.findFourHouseByType(2);
mv.addObject("newHouses",newHouses);
mv.addObject("oldHouses",oldHouses);
mv.addObject("rentHouses",rentHouses);
mv.setViewName("../main");
return mv;
}
@RequestMapping("findHouseById.do")
public ModelAndView findHouseById(int houseId){
HouseView house=houseViewService.findHouseByHouseId(houseId);
ModelAndView mv=new ModelAndView();
mv.addObject("houseInfo",house);
mv.setViewName("details");
return mv;
}
@RequestMapping("findHouse.do")
public ModelAndView findHouse(@RequestParam(defaultValue = "1") int currentPage, int houseType){
ModelAndView mv=new ModelAndView();
List<HouseView> houses=houseViewService.findHouseByType(currentPage,houseType);
List<HouseView> fh=houseViewService.findFourHouseByType(houseType);
PageInfo<HouseView> pageInfo=new PageInfo<>(houses);
mv.addObject("pageInfo",pageInfo);
mv.addObject("fh",fh);
if(houseType==0){
mv.setViewName("newhouse");
}else if(houseType==1){
mv.setViewName("oldhouse");
}else{
mv.setViewName("renthouse");
}
return mv;
}
}
IHouseViewDao页:
package com.yiju.dao;
import com.yiju.pojo.HouseView;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface IHouseViewDao {
List<HouseView> findFourHouseByType(@Param("houseType") int houseType);
HouseView findHouseByHouseId(int houseId);
List<HouseView> findHouseByType(@Param("houseType") int houseType);
}
HouseView页:
package com.yiju.pojo;
import java.math.BigDecimal;
public class HouseView {
private int houseId; //房源ID
private String trueName; //发布人
private String houseTitle; //房源标题
private String houseHeadimg; //房源帖子头像
private BigDecimal housePrice; //房屋价格
private String priceUnit; //售价单位:元/每月 元/套 元/年
private int houseFloor; //楼层
private int floorAll; //全部楼层
private String houseAddress; //房源地址
private String houseLayout; //几室几厅几卫
private String houseDecorate; //精装,简装
private String houseArea; //房间面积
private long createTime; //创建时间
private String houseTurn; //房屋朝向
private String houseNature; //房屋性质
private String houseModel; //房屋类型
private String houseYear; //建造年份
private String houseValid; //有效期
private int houseLift; //是否有电梯
private String housePlanimg1;
private String housePlanimg2;
private String houseImg1; //房源室内图1
private String houseImg2; //房源室内图2
private String houseImg3; //房源室内图3
private String houseImg4; //房源室内图4
private String houseImg5; //房源室内图5
private String houseImg6; //房源室内图6
private String date; //获取年月日
private int bed; //床:0无 1有
private int washing; //洗衣机:0无 1有
private int air; //空调: 0无 1有
private int balcony; //阳台:0无 1有
private int ice; //冰箱:0无 1有
private int toilet; //卫生间:0无 1有
private int kitchen; //厨房:0无 1有
private int tv; //电视:0无 1有
private int heater; //热水器:0无 1有
private int wardrobe; //衣柜:0无 1有
private int heating; //暖气:0无 1有
private int internet; //宽带:0无 1有
private int sofa; //沙发:0无 1有
private int houseType;
public int getHouseType() {
return houseType;
}
public void setHouseType(int houseType) {
this.houseType = houseType;
}
public int getHouseId() {
return houseId;
}
public void setHouseId(int houseId) {
this.houseId = houseId;
}
public String getTrueName() {
return trueName;
}
public void setTrueName(String trueName) {
this.trueName = trueName;
}
public String getHouseTitle() {
return houseTitle;
}
public void setHouseTitle(String houseTitle) {
this.houseTitle = houseTitle;
}
public String getHouseHeadimg() {
return houseHeadimg;
}
public void setHouseHeadimg(String houseHeadimg) {
this.houseHeadimg = houseHeadimg;
}
public BigDecimal getHousePrice() {
return housePrice;
}
public void setHousePrice(BigDecimal housePrice) {
this.housePrice = housePrice;
}
public String getPriceUnit() {
return priceUnit;
}
public void setPriceUnit(String priceUnit) {
this.priceUnit = priceUnit;
}
public int getHouseFloor() {
return houseFloor;
}
public void setHouseFloor(int houseFloor) {
this.houseFloor = houseFloor;
}
public int getFloorAll() {
return floorAll;
}
public void setFloorAll(int floorAll) {
this.floorAll = floorAll;
}
public String getHouseAddress() {
return houseAddress;
}
public void setHouseAddress(String houseAddress) {
this.houseAddress = houseAddress;
}
public String getHouseLayout() {
return houseLayout;
}
public void setHouseLayout(String houseLayout) {
this.houseLayout = houseLayout;
}
public String getHouseDecorate() {
return houseDecorate;
}
public void setHouseDecorate(String houseDecorate) {
this.houseDecorate = houseDecorate;
}
public String getHouseArea() {
return houseArea;
}
public void setHouseArea(String houseArea) {
this.houseArea = houseArea;
}
public long getCreateTime() {
return createTime;
}
public void setCreateTime(long createTime) {
this.createTime = createTime;
}
public String getHouseTurn() {
return houseTurn;
}
public void setHouseTurn(String houseTurn) {
this.houseTurn = houseTurn;
}
public String getHouseNature() {
return houseNature;
}
public void setHouseNature(String houseNature) {
this.houseNature = houseNature;
}
public String getHouseModel() {
return houseModel;
}
public void setHouseModel(String houseModel) {
this.houseModel = houseModel;
}
public String getHouseYear() {
return houseYear;
}
public void setHouseYear(String houseYear) {
this.houseYear = houseYear;
}
public String getHouseValid() {
return houseValid;
}
public void setHouseValid(String houseValid) {
this.houseValid = houseValid;
}
public int getHouseLift() {
return houseLift;
}
public void setHouseLift(int houseLift) {
this.houseLift = houseLift;
}
public String getHousePlanimg1() {
return housePlanimg1;
}
public void setHousePlanimg1(String housePlanimg1) {
this.housePlanimg1 = housePlanimg1;
}
public String getHousePlanimg2() {
return housePlanimg2;
}
public void setHousePlanimg2(String housePlanimg2) {
this.housePlanimg2 = housePlanimg2;
}
public String getHouseImg1() {
return houseImg1;
}
public void setHouseImg1(String houseImg1) {
this.houseImg1 = houseImg1;
}
public String getHouseImg2() {
return houseImg2;
}
public void setHouseImg2(String houseImg2) {
this.houseImg2 = houseImg2;
}
public String getHouseImg3() {
return houseImg3;
}
public void setHouseImg3(String houseImg3) {
this.houseImg3 = houseImg3;
}
public String getHouseImg4() {
return houseImg4;
}
public void setHouseImg4(String houseImg4) {
this.houseImg4 = houseImg4;
}
public String getHouseImg5() {
return houseImg5;
}
public void setHouseImg5(String houseImg5) {
this.houseImg5 = houseImg5;
}
public String getHouseImg6() {
return houseImg6;
}
public void setHouseImg6(String houseImg6) {
this.houseImg6 = houseImg6;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public int getBed() {
return bed;
}
public void setBed(int bed) {
this.bed = bed;
}
public int getWashing() {
return washing;
}
public void setWashing(int washing) {
this.washing = washing;
}
public int getAir() {
return air;
}
public void setAir(int air) {
this.air = air;
}
public int getBalcony() {
return balcony;
}
public void setBalcony(int balcony) {
this.balcony = balcony;
}
public int getIce() {
return ice;
}
public void setIce(int ice) {
this.ice = ice;
}
public int getToilet() {
return toilet;
}
public void setToilet(int toilet) {
this.toilet = toilet;
}
public int getKitchen() {
return kitchen;
}
public void setKitchen(int kitchen) {
this.kitchen = kitchen;
}
public int getTv() {
return tv;
}
public void setTv(int tv) {
this.tv = tv;
}
public int getHeater() {
return heater;
}
public void setHeater(int heater) {
this.heater = heater;
}
public int getWardrobe() {
return wardrobe;
}
public void setWardrobe(int wardrobe) {
this.wardrobe = wardrobe;
}
public int getHeating() {
return heating;
}
public void setHeating(int heating) {
this.heating = heating;
}
public int getInternet() {
return internet;
}
public void setInternet(int internet) {
this.internet = internet;
}
public int getSofa() {
return sofa;
}
public void setSofa(int sofa) {
this.sofa = sofa;
}
@Override
public String toString() {
return "HouseView{" +
"houseId=" + houseId +
", trueName='" + trueName + '\'' +
", houseTitle='" + houseTitle + '\'' +
", houseHeadimg='" + houseHeadimg + '\'' +
", housePrice=" + housePrice +
", priceUnit='" + priceUnit + '\'' +
", houseFloor=" + houseFloor +
", floorAll=" + floorAll +
", houseAddress='" + houseAddress + '\'' +
", houseLayout='" + houseLayout + '\'' +
", houseDecorate='" + houseDecorate + '\'' +
", houseArea='" + houseArea + '\'' +
", createTime=" + createTime +
", houseTurn='" + houseTurn + '\'' +
", houseNature='" + houseNature + '\'' +
", houseModel='" + houseModel + '\'' +
", houseYear='" + houseYear + '\'' +
", houseValid='" + houseValid + '\'' +
", houseLift=" + houseLift +
", housePlanimg1='" + housePlanimg1 + '\'' +
", housePlanimg2='" + housePlanimg2 + '\'' +
", houseImg1='" + houseImg1 + '\'' +
", houseImg2='" + houseImg2 + '\'' +
", houseImg3='" + houseImg3 + '\'' +
", houseImg4='" + houseImg4 + '\'' +
", houseImg5='" + houseImg5 + '\'' +
", houseImg6='" + houseImg6 + '\'' +
", date='" + date + '\'' +
", bed=" + bed +
", washing=" + washing +
", air=" + air +
", balcony=" + balcony +
", ice=" + ice +
", toilet=" + toilet +
", kitchen=" + kitchen +
", tv=" + tv +
", heater=" + heater +
", wardrobe=" + wardrobe +
", heating=" + heating +
", internet=" + internet +
", sofa=" + sofa +
", houseType=" + houseType +
'}';
}
}
IHouseViewService页:
package com.yiju.service;
import com.yiju.pojo.HouseView;
import java.util.List;
public interface IHouseViewService {
List<HouseView> findFourHouseByType(int houseType);
HouseView findHouseByHouseId(int houseId);
List<HouseView> findHouseByType(int currentPage,int houseType);
}
HouseViewService页:
package com.yiju.service.impl;
import com.github.pagehelper.PageHelper;
import com.yiju.dao.IHouseViewDao;
import com.yiju.pojo.HouseView;
import com.yiju.service.IHouseViewService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class HouseViewService implements IHouseViewService {
@Autowired
private IHouseViewDao houseViewDao;
@Override
public List<HouseView> findFourHouseByType(int houseType) {
return houseViewDao.findFourHouseByType(houseType);
}
@Override
public HouseView findHouseByHouseId(int houseId) {
return houseViewDao.findHouseByHouseId(houseId);
}
@Override
public List<HouseView> findHouseByType(int currentPage,int houseType) {
PageHelper.startPage(currentPage,5);
return houseViewDao.findHouseByType(houseType);
}
}
导入配置文件:
HouseMapper.xml页:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yiju.dao.IHouseViewDao">
<select id="findFourHouseByType" parameterType="int" resultType="com.yiju.pojo.HouseView">
select * from tb_house a,tb_house_info b where a.house_id=b.house_id and a.is_delete=0
and a.house_type=#{houseType} order by rand() limit 4
</select>
<select id="findHouseByHouseId" parameterType="int" resultType="com.yiju.pojo.HouseView">
select * from tb_house a,tb_house_info b where a.house_id=b.house_id and a.is_delete=0
and a.house_id=#{houseId}
</select>
<select id="findHouseByType" parameterType="int" resultType="com.yiju.pojo.HouseView">
select * from tb_house a,tb_house_info b where a.house_id=b.house_id and a.is_delete=0
and a.house_type=#{houseType}
</select>
</mapper>
导入前端页面文件:
web.xml页:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!-- 配置加载类路径的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
<!-- 配置监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<!-- 解决中文乱码过滤器 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 前端控制器(加载classpath:spring-mvc.xml 服务器启动创建servlet) -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置初始化参数,创建完DispatcherServlet对象,加载springmvc.xml配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<!-- 服务器启动的时候,让DispatcherServlet对象创建 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>