多条件查询与分页:

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

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

 

    list.jsp:                                               HouseSearchVO:

SSM整合 mybatis多条件查询与分页SSM整合 mybatis多条件查询与分页

     

      HouseController:

SSM整合 mybatis多条件查询与分页  SSM整合 mybatis多条件查询与分页

 

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

    HouseService:                               HouseDAO:

SSM整合 mybatis多条件查询与分页                                     SSM整合 mybatis多条件查询与分页

 

  HouseDAO.xml:

SSM整合 mybatis多条件查询与分页

 分页插件:

SSM整合 mybatis多条件查询与分页

 页面显示:

SSM整合 mybatis多条件查询与分页

 

 

 

升级版:

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

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

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

HouseController

SSM整合 mybatis多条件查询与分页

 

 jsp:

SSM整合 mybatis多条件查询与分页

 SSM整合 mybatis多条件查询与分页

SSM整合 mybatis多条件查询与分页

SSM整合 mybatis多条件查询与分页

 

源码:

 mybatis-config.xml

1 <!--插件 分页-->
2     <plugins>
3         <plugin interceptor="com.github.pagehelper.PageHelper">
4             <property name="dialect" value="mysql"></property>
5         </plugin>
6     </plugins>

 

 

 

 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 3 <mapper namespace="com.etc.dao.HouseDAO">
 4     <insert id="add">
 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 VALUES
15     (
16         #{hName},
17         #{hRect},
18         #{hDate},
19         #{hLoc1},
20         #{hLoc2},
21         #{hImg},
22         #{userId}
23     );
24 </insert>
25 
26     <select id="serach" resultType="house">
27         SELECT * from `t_house`
28         <where>
29             <if test="houseName!=null">
30                 h_name like '%${houseName}%'
31             </if>
32             <if test="minRect!=null and maxRect!=null">
33                 and h_rect between #{minRect} and #{maxRect}
34             </if>
35         </where>
36 
37     </select>
38 
39 </mapper>
HouseDAO.xml

相关文章: