房地产项目

1.学习使用SQL的语句

<?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.bw.dao.IHouseDao">
    <!--//login验证-->
    <select id="findPerson" parameterType="Person" resultType="Person">
        select * from t_person  where person_name=#{personName } and person_pwd=#{personPwd}
    </select>

    <!--//房屋信息的列表展示 及分页查询 及模糊查询-->
    <select id="findHouseAll" parameterType="Map" resultType="HolderHouse">
        select * from t_house h,t_holder ho where h.person_id=ho.id
        <if test="begin!=null and pageSize!=null">
             limit #{begin},#{pageSize}
        </if>
        <if test="houseName!=null and houseName!=''">
        AND h.house_name LIKE concat(concat('%',#{houseName}),'%')
        </if>
        <if test="holderName!=null and holderName!=''">
            and ho.holder_name=#{holderName}
        </if>
    </select>

    <!--//查询户主信息-->
    <select id="selHolder" resultType="Holder">
        select * from t_holder
    </select>

    <!--//添加房屋信息-->
    <insert id="addHouse" parameterType="House" useGeneratedKeys="true">
        INSERT INTO t_house VALUES
        (null,#{houseName},#{houseImg},#{houseArea},#{housePrice},#{houseTotal},#{personId},NOW(),NOW())
    </insert>

    <!--//删除房屋信息-->
    <delete id="delHouse" parameterType="int">
        delete from t_house where id =#{id}
    </delete>

    <!--//批量删除房屋信息-->
    <delete id="delBatchHouse" parameterType="String">
        delete from t_house where id IN(#{ids})
    </delete>

    <!--//修改房屋信息-->
    <update id="updateHouse" parameterType="House">
      UPDATE  t_house set house_name=#{houseName},house_area=#{houseArea},
      house_price=#{housePrice},house_total=#{houseTotal},buy_date=NOW()
      where id=#{id}
    </update>

    <!--//根据条件查询房屋信息-->
    <select id="selHouseById" parameterType="House" resultType="HolderHouse">
        select * from t_house h,t_holder ho
        <where>
            h.person_id=ho.id
            <if test="id!=0">
                and h.id=#{id}
            </if>
            <if test="personId!=0">
                and h.person_id=#{personId}
            </if>
            <if test="houseName!=null and houseName!=''">
                and h.house_name=#{houseName}
            </if>
        </where>
    </select>
</mapper>


2.mapper文件对应的dao层方法

package com.bw.dao;

import com.bw.pojo.Holder;
import com.bw.pojo.HolderHouse;
import com.bw.pojo.House;
import com.bw.pojo.Person;

import java.util.List;
import java.util.Map;

public interface IHouseDao {
    //login验证
    Person findPerson(Person person);

    //房屋信息的列表展示 及分页查询 及模糊查询
    List<HolderHouse> findHouseAll(Map<String,Object> map);

    //查询户主信息
    List<Holder>  selHolder();

    //添加房屋信息
    int addHouse(House house);

    //删除房屋信息
    int delHouse(int id);
    //pi批量删除房屋信息
    int delBatchHouse(String ids);

    //修改房屋信息
    int updateHouse(House house);
    //根据条件查询房屋信息
    List<HolderHouse> selHouseById(House house);



}


3.impl,Service实现类的redis使用

    /**
     * TODO redis  缓存
     * @return
     */
    @Override
    public List<Holder> selHolder(HttpSession session) {
      RedisPool redis= RedisUtil.getRedisPool("friendHu");
        List<Holder> holderNameList=new ArrayList<>();
        List<Holder> holders=  iHouseDao.selHolder();
        for (Holder ho: holders) {
            holderNameList.add(ho);
        }
      redis.set("holderNameList",holderNameList);
        List<Holder> holderList=(List)JSONArray.parseArray(redis.get("holderNameList"));

       /* redis.lpush("holderList",holderNameList);
       redis.lpop();
        List<Holder> holderList=(List<Holder>) redis.lrange("holderList",30,5000,Holder.class);*/
        System.out.println("Impl:"+holderList);
        session.setAttribute("holderNameList",holderList);
        return null;
    }


4.控制层的业务交互

package com.bw.controller;

import com.bw.pojo.HolderHouse;
import com.bw.pojo.House;
import com.bw.pojo.Person;
import com.bw.service.IHouseService;
import com.bw.util.FileUtil;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/house")
public class HouseController {
    @Resource
    private IHouseService iHouseService;

    //login验证 和 根据户主名查询
    @RequestMapping(value = "/findPerson",method = RequestMethod.POST)
    @ResponseBody
    public  Map<String,Object> findPerson(Person person,HttpSession session,String holderName ){
        Map<String,Object> map=new HashMap<>();
        session.setAttribute("holderName",holderName);
        Person person1=  iHouseService.findPerson(person);
        if(person1!=null){
            map.put("flag",1);
        }
        map.put("flag2","查询成功!");
        return map;
    }

    //房屋信息的列表展示 及分页查询 及模糊查询
    @RequestMapping(value = "/findHouseAll",method = RequestMethod.POST)
    public ModelAndView   findHouseAll(ModelAndView modelAndView,Integer begin,Integer pageSize,String houseName){
        Map<String,Object> map=new HashMap<>();
        map.put("begin",begin);
        map.put("pageSize",pageSize);
        map.put("houseName",houseName);
    List<HolderHouse> houseList=iHouseService.findHouseAll(map);
        modelAndView.addObject("houseList",houseList);
        modelAndView.setViewName("show");
        return modelAndView;
    }
    //根据户主名查询
    @RequestMapping(value = "/fuzzyHouseAll",method = RequestMethod.GET)
    public ModelAndView   fuzzyHouseAll(ModelAndView modelAndView,HttpSession session){
        Map<String,Object> map=new HashMap<>();
          map.put("holderName",session.getAttribute("holderName"));
        List<HolderHouse> houseList=iHouseService.findHouseAll(map);
        modelAndView.addObject("houseList",houseList);
        modelAndView.setViewName("show");
        return modelAndView;
    }

    //房屋信息的列表展示get请求
    @RequestMapping(value = "/findAllHouse",method = RequestMethod.GET)
    public ModelAndView   findAllHouse(ModelAndView modelAndView,HttpSession session){
        Map<String,Object> map=new HashMap<>();
        iHouseService.selHolder(session);
        List<HolderHouse> houseList=iHouseService.findHouseAll(map);
        modelAndView.addObject("houseList",houseList);
        modelAndView.setViewName("show");
        return modelAndView;
    }

    /*//根据户主查询信息 跳转页面
    @RequestMapping(value = "/findHouseByName",method = RequestMethod.GET)
    @ResponseBody
    public Map<String,Object>   findHouseByName(HttpSession session,int personId){
        Map<String,Object> map=new HashMap<>();
        map.put("flag","查询成功!");
        session.setAttribute("psersonId",personId);
        return map;
    }*/

    //查询户主信息
    @RequestMapping(value = "/selHolder",method = RequestMethod.GET)
    public ModelAndView   selHolder(ModelAndView modelAndView, HttpSession session){
        iHouseService.selHolder(session);
        modelAndView.setViewName("insert");
        return modelAndView;
    }

    //验证房产名称不能为空
    @RequestMapping(value = "/selHouseByName",method = RequestMethod.POST)
    @ResponseBody
    public  Map<String,Object> selHouseByName(String houseName){
       House house= new House();
       house.setHouseName(houseName);
        Map<String,Object> map=new HashMap<>();
      List<HolderHouse> holderHouses=  iHouseService.selHouseById(house);
     if(holderHouses.size()==0){
         map.put("flag",1);
     }
        return map;
    }

    //添加房屋信息 注意上传文件
    @RequestMapping(value = "/addHouse",method = RequestMethod.POST)
    public ModelAndView   addHouse(@RequestParam(value = "file",required = false) MultipartFile file,HttpServletRequest request, ModelAndView modelAndView, House house)throws  Exception{
        //判断文件上传是否为空
        if (!file.isEmpty()){
            //把上传的路径转为字符串存入路径
            String picture= FileUtil.uploadFile(file,request);
            //把路径存入
            house.setHouseImg(picture);
        }else {
            house.setHouseImg("");
        }
        house.setHouseTotal(house.getHousePrice()*house.getHouseArea());
        iHouseService.addHouse(house);
        modelAndView.setViewName("redirect:/house/findAllHouse.action");
        return modelAndView;
    }

    //删除房屋信息
    @RequestMapping(value = "/delHouse",method = RequestMethod.GET)
    public ModelAndView   delHouse(ModelAndView modelAndView,int id){
        iHouseService.delHouse(id);
        modelAndView.setViewName("redirect:/house/findAllHouse.action");
        return modelAndView;
    }

    //批量删除房屋信息 sql 可$也可#
    @RequestMapping(value = "/delBatchHouse",method = RequestMethod.POST)
    @ResponseBody
    public  Map<String,Object> delBatchHouse(String ids){
        Map<String,Object> map=new HashMap<>();
         iHouseService.delBatchHouse(ids);
            map.put("flag","批量删除成功!");
        return map;
    }
    //修改房屋信息
    @RequestMapping(value = "/updateHouse",method = RequestMethod.POST)
    public ModelAndView  updateHouse(ModelAndView modelAndView,House house){
        house.setHouseTotal(house.getHousePrice()*house.getHouseArea());//总价
      iHouseService.updateHouse(house);
        modelAndView.setViewName("redirect:/house/findAllHouse.action");
        return modelAndView;
    }
    //根据id查询房产信息返回修改页面
    @RequestMapping(value = "/selHouseById",method = RequestMethod.GET)
    public ModelAndView   selHouseById(ModelAndView modelAndView,int id){
        House house=new House();
        house.setId(id);
        List<HolderHouse> holderHouses=  iHouseService.selHouseById(house);
        modelAndView.addObject("houses",holderHouses.get(0));
        modelAndView.setViewName("update");
        return modelAndView;
    }


}



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值