博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSM整合 mybatis多条件查询与分页
阅读量:4677 次
发布时间:2019-06-09

本文共 7832 字,大约阅读时间需要 26 分钟。

 

多条件查询与分页:

通过页面的houseName、floorage获取值传到前端视图(HouseSearchVO)实体类中的houseName,floorage建立houseSearchVO对象。

通过controller控制层getHouseSearch方法得到houseName,floorage的值 存在哪个就将此值传到后端(HouseSearch)实体类中建立houseSearch对象。

 

    list.jsp:                                               HouseSearchVO:

     

      HouseController:

  

 

此时返回一个houseSearch对象。通过HouseService中的search方法调用HouseDAO中的查询,此时传到HouseDAO.xml调用sql语句

    HouseService:                               HouseDAO:

                                     

 

  HouseDAO.xml:

 分页插件:

 页面显示:

 

 

 

升级版:

将页面查询时添加的条件 用HouseSearchVO对象保存,再将此对象保存到@ModelAttribute(“vo”)vo对象中返回给页面。

此时,页面就能拿到vo对象,然后通过vo对象的属性来将条件重新显示

最后将下一页修改成点击事件,将页码和表单一起提交。

HouseController

 

 jsp:

 

 

源码:

 

1 
2 3
4
5 INSERT INTO `t_house` ( 6 `h_name`, 7 `h_rect`, 8 `h_date`, 9 `h_loc1`,10 `h_loc2`,11 `h_img`,12 `h_userId`13 )14 VALUES15 (16 #{hName},17 #{hRect},18 #{hDate},19 #{hLoc1},20 #{hLoc2},21 #{hImg},22 #{userId}23 );24
25 26
38 39
HouseDAO.xml

 

1 package com.etc.controller; 2  3 import com.etc.Vo.HouseSearchVO; 4 import com.etc.Vo.HouseVO; 5 import com.etc.common.Constant; 6 import com.etc.converter.HouseConverter; 7 import com.etc.entity.House; 8 import com.etc.entity.HouseSearch; 9 import com.etc.entity.User;10 import com.etc.servise.HouseService;11 import com.github.pagehelper.PageHelper;12 import com.github.pagehelper.PageInfo;13 import org.apache.commons.io.IOUtils;14 import org.springframework.beans.factory.annotation.Autowired;15 import org.springframework.stereotype.Controller;16 import org.springframework.ui.Model;17 import org.springframework.util.StringUtils;18 import org.springframework.web.bind.annotation.ModelAttribute;19 import org.springframework.web.bind.annotation.RequestMapping;20 21 import javax.servlet.http.HttpServletResponse;22 import javax.servlet.http.HttpSession;23 import java.io.File;24 import java.io.FileInputStream;25 import java.io.IOException;26 import java.util.List;27 28 @Controller29 @RequestMapping("/house")30 public class HouseController {31 32     public static final String UPLOAD_DIR = "D:\\images\\";33 34     @RequestMapping("/images")35     public String images(String imgName, HttpServletResponse response) throws IOException {36         //将图片的输入流,复制到response的输出流中,37         IOUtils.copy(new FileInputStream(UPLOAD_DIR+imgName),response.getOutputStream());38         return null;39     }40 41 42     @Autowired43     private HouseService houseService;44 45     @RequestMapping("/add")46     public String add(HouseVO houseVO, HttpSession session) throws IOException {47         //获取session中的user对象48         User user = (User) session.getAttribute("user");49         //拿到user对象的id50         int userId = user.getUserId();51         //设置文件上传的路径52         houseVO.getHImg().transferTo(new File(UPLOAD_DIR + houseVO.getHImg().getOriginalFilename()));53         //建立house对象54         House house = HouseConverter.convert(houseVO, houseVO.getHImg().getOriginalFilename(), userId);55         //调用添加方法56         houseService.add(house);57         return "list";58     }59 60     @RequestMapping("/serach")61     public String serach(@ModelAttribute("vo") HouseSearchVO houseSearchVO, Model model, Integer pageNum) {62 63         HouseSearch houseSearch = getHouseSearch(houseSearchVO);64 65         if (pageNum == null) {66             pageNum = 1;67         }68 69         PageHelper.startPage(pageNum, Constant.PAGE_SIZE);70         List
serach = houseService.serach(houseSearch);71 PageInfo
pageInfo = new PageInfo<>(serach);72 73 model.addAttribute("pageInfo", pageInfo);74 return "list";75 }76 77 private HouseSearch getHouseSearch(HouseSearchVO houseSearchVO) {78 HouseSearch houseSearch = new HouseSearch();79 if (!StringUtils.isEmpty(houseSearchVO.getHouseName())) {80 houseSearch.setHouseName(houseSearchVO.getHouseName());81 }82 if (!StringUtils.isEmpty(houseSearchVO.getFloorage())) {83 String[] split = houseSearchVO.getFloorage().split("-");84 houseSearch.setMinRect(Double.valueOf(split[0]));85 houseSearch.setMaxRect(Double.valueOf(split[1]));86 }87 return houseSearch;88 }89 90 }
HouseController.java

 

1 package com.etc.servise; 2  3 import com.etc.entity.HouseSearch; 4 import com.etc.dao.HouseDAO; 5 import com.etc.entity.House; 6 import org.springframework.beans.factory.annotation.Autowired; 7 import org.springframework.stereotype.Service; 8  9 import java.util.List;10 11 @Service12 public class HouseService {13 14     @Autowired15     private HouseDAO houseDAO;16 17     public void add(House house){18         houseDAO.add(house);19     }20 21     public List
serach(HouseSearch houseSearch){22 List
serach = houseDAO.serach(houseSearch);23 return serach;24 }25 26 }
HouseService.java

 

1 package com.etc.dao; 2  3 import com.etc.entity.HouseSearch; 4 import com.etc.entity.House; 5  6 import java.util.List; 7  8 public interface HouseDAO { 9 10     void add(House house);11 12     List
serach(HouseSearch houseSearch);13 }
HouseDAO.java

 

1 package com.etc.Vo; 2  3 import lombok.AllArgsConstructor; 4 import lombok.Data; 5 import lombok.NoArgsConstructor; 6  7 @Data 8 @AllArgsConstructor 9 @NoArgsConstructor10 public class HouseSearchVO {11     private String houseName;12     private String floorage;13 }
HouseSearchVO

 

1 package com.etc.entity; 2  3 import lombok.AllArgsConstructor; 4 import lombok.Data; 5 import lombok.NoArgsConstructor; 6  7 @Data 8 @AllArgsConstructor 9 @NoArgsConstructor10 public class HouseSearch {11     private String houseName;12     private Double minRect;13     private Double maxRect;14 15 }
HouseSearch

 

1 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 2  3 
4 布谷租房 - 首页 5
6
7
8 9
11
48
49
52
50
51
53
54
58
59
60 61
55
56
${house.HName}
57
${house.HLoc1}${house.HLoc2},${house.HRect}平米
联系方式:3456
一室一厅 346.0元/月
62
63
${pageInfo.pageNum}/${pageInfo.pages}页
69
list.jsp

 

转载于:https://www.cnblogs.com/LiuOOP/p/11254992.html

你可能感兴趣的文章
HTML属性的应用
查看>>
HEAP CORRUPTION DETECTED
查看>>
Android URI简单介绍
查看>>
蒙板 模态对话框
查看>>
pythong中的全局变量的调用和嵌套函数中变量的使用
查看>>
【POJ - 3009】Curling 2.0 (dfs+回溯)
查看>>
Windows下载安装良心教程
查看>>
浅析商业银行“业务连续性管理体系”的构建
查看>>
【分享】从《水浒传》中反思什么是真正的执行力
查看>>
java中的static
查看>>
5.侧边栏逻辑
查看>>
评论博客
查看>>
用户代理字符串识别工具源码与slf4j日志使用
查看>>
提示框第三方库之MBProgressHUD
查看>>
C语言 10-字符和字符串常用处理函数
查看>>
C++ 表达式语句 海伦的故事
查看>>
32位汇编学习笔记(1)
查看>>
day_01
查看>>
2013年12月日本語能力試験N3聴解部分
查看>>
uva 1349(拆点+最小费用流)
查看>>