你的位置:首页 > 软件开发 > Java > SpringMVC3.0+MyIbatis3.0(分页示例)

SpringMVC3.0+MyIbatis3.0(分页示例)

发布时间:2015-09-06 02:00:06
参考资料 1 ibatis2.x与mybatis(ibatis3.x)的比较 http://zhaohe162.blog.163.com/blog/static/382167972011111114742371/ 2 MyBatis学习 之 三、动态SQL语句 h ...

SpringMVC3.0+MyIbatis3.0(分页示例)

参考资料 2 工程代码图片 

Java代码  SpringMVC3.0+MyIbatis3.0(分页示例)
  1. package com.liuzd.ssm.web;  
  2.   
  3. import java.util.HashMap;  
  4. import java.util.List;  
  5. import java.util.Map;  
  6.   
  7. import javax.annotation.Resource;  
  8. import javax.servlet.http.HttpServletRequest;  
  9.   
  10. import org.springframework.stereotype.Controller;  
  11. import org.springframework.web.bind.annotation.PathVariable;  
  12. import org.springframework.web.bind.annotation.RequestMapping;  
  13. import org.springframework.web.bind.annotation.SessionAttributes;  
  14. import org.springframework.web.servlet.ModelAndView;  
  15.   
  16. import com.liuzd.page.Page;  
  17. import com.liuzd.ssm.entity.User;  
  18. import com.liuzd.ssm.service.UserService;  
  19.   
  20. @Controller  
  21. @RequestMapping("/user")  
  22. @SessionAttributes("userList")  
  23. public class UserController extends BaseController{  
  24.       
  25.     private UserService userService;  
  26.       
  27.   
  28.     public UserService getUserService() {  
  29.         return userService;  
  30.     }  
  31.       
  32.     @Resource  
  33.     public void setUserService(UserService userService) {  
  34.         this.userService = userService;  
  35.     }     
  36.   
  37.       
  38.     @RequestMapping("/userList")  
  39.     public ModelAndView userList(HttpServletRequest request){  
  40.         Map<String,Object> params = new HashMap<String,Object>();  
  41.         //添加查询条件  
  42.         // ... params.put("name","jack");...  
  43.           
  44.         //获取总条数  
  45.         Long totalCount = this.getUserService().pageCounts(params);  
  46.         //设置分页对象  
  47.         Page page = executePage(request,totalCount);          
  48.         //如排序  
  49.         if(page.isSort()){  
  50.             params.put("orderName",page.getSortName());   
  51.             params.put("descAsc",page.getSortState());  
  52.         }else{  
  53.             //没有进行排序,默认排序方式  
  54.             params.put("orderName","age");    
  55.             params.put("descAsc","asc");  
  56.         }  
  57.         //压入查询参数:开始条数与结束条灵敏  
  58.         params.put("startIndex", page.getBeginIndex());  
  59.         params.put("endIndex", page.getEndinIndex());  
  60.           
  61.         ModelAndView mv = new ModelAndView();         
  62.         //查询集合        
  63.         List<User> users = this.getUserService().pageList(params);  
  64.         mv.addObject("userList",users);               
  65.         mv.setViewName("userList");           
  66.         return mv;  
  67.     }  
  68. }     
4 UserMapper.Java代码  SpringMVC3.0+MyIbatis3.0(分页示例)
  1. <?"1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"   
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">  
  4. <mapper namespace="com.liuzd.ssm.mapper.UserMapper">        
  5.   
  6.    <resultMap type="com.liuzd.ssm.entity.User" id="userMap">  
  7.      <id property="id" column="id"/>  
  8.      <result property="name" column="name"/>  
  9.      <result property="age" column="age"/>  
  10.      <result property="sex" column="sex"/>  
  11.      <result property="address" column="address"/>  
  12.      <result property="password" column="password"/>         
  13.    </resultMap>    
  14.     <select id="pageList" parameterType="map" resultType="list" resultMap="userMap">     
  15.          
  16.        select ttt.* from(select tt.*,rownum rn from(select * from users  
  17.         <where>            
  18.            <if test="name != null and name != ''">  
  19.                <!--   
  20.                   特别提醒一下, $只是字符串拼接, 所以要特别小心sql注入问题。  
  21.                   在开发时使用: $,方便调试sql,发布时使用: #  
  22.                  and name like #{name},  
  23.                -->  
  24.                and name like '%${name}%'                     
  25.            </if>    
  26.             <if test="sex != null and sex != ''">  
  27.                and sex = #{sex}                      
  28.             </if>      
  29.          </where>    
  30.          order by ${orderName} ${descAsc} )tt)ttt  
  31.          <where>   
  32.            <if test="startIndex != null and startIndex != ''">  
  33.                rn > ${startIndex}                     
  34.            </if>    
  35.             <if test="endIndex != null and endIndex != ''">                
  36.                  <![CDATA[ and rn <= ${endIndex}  ]]>                               
  37.             </if>      
  38.          </where>            
  39. </select>    
  40.   
  41. <select id="pageCounts" parameterType="map" resultType="long">     
  42.    select count(*) from users   
  43.    <where>   
  44.    <if test="name != null and name != ''">  
  45.        and name like #{name}                     
  46.    </if>    
  47.     <if test="sex != null and sex != ''">  
  48.        and sex = #{sex}                      
  49.    </if>               
  50.    </where>    
  51. </select>   
  52.   
  53. </mapper>  

原标题:SpringMVC3.0+MyIbatis3.0(分页示例)

关键词:Spring

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录