java中一个查询业务的流程

因为有用到分页,首先建一个page类

1 public class Page<T> {    
 2     private int pageSize; //每页显示条数
 3     private int curPage = 1;  //当前页,默认从1开始
 4     private long total;    //总记录数
 5     private int pages;  //总页数
 6     private List<T> list; //页面列表数据    
 7     public Page() {
 8         pageSize = 5;  //默认5条每页
 9     }    
10     //获取第一条的数码
11     public int getStarPage(){
12         int starPage = pageSize * (curPage-1);
13         return starPage;
14     }
15     public int getPageSize() {
16         return pageSize;
17     }
18  // 所有属性的get ,set方法
    ......
45 }            

然后在控制层中,控制层接收到请求/order/do

@Controller
@RequestMapping("/order")
public class OrderController{
@Resource
private OrderService OrderService
@RequestMapping(value = "/do",method = RequestMethod.GET)
//这里的c是状态属性,值为0或1
public String getList(@RequestParam(value="b",defaultValue="0") int b,@RequestParam(value="c",defaultValue="0") int c, Page<Order> page,HttpServletRequest request,HttpServletResponse response,Model model) { System.out.println(page.getCurPage()); Page<Order> OrderPage=new Page<Order>(); //判断是否有页码的输入,没有使用默认的 if(page.getCurPage()!=0){ OrderPage.setCurPage(page.getCurPage()); OrderPage.setPageSize(page.getPageSize()); }       //我们需要的记录 java.util.List<Order> rval = OrderService.getlist(1,OrderPage.getStarPage(),OrderPage.getPageSize()); //查询XService表的总记录 OrderPage.setTotal(OrderService.queryToalOrder(1);      // System.out.println(page.getTotal()); OrderPage.setPages((int)OrderPage.getTotal()/OrderPage.getPageSize());      // System.out.println(XPage.getPages()); Orderpage.setList(rval); model.addAttribute("OrderPage", OrderPage);if(b==0){ return "Manager"; }else if(c==0){ return "already"; }else if(c==1){ return "will"; }else return null; } }

service层中

@Service
public classOrderService {
@Resource
private OrderMapper orderMapper;
//查询Order总记录的条数
@Transactional(propagation = Propagation.SUPPORTS,readOnly = true)
public int queryToalOrder(int sta,){    
return OrderMapper.queryToalOrder(sta);
}
//我们需要的记录
@Transactional(propagation = Propagation.SUPPORTS,readOnly = true)
public java.util.List<Order> getlist(int sta,int starPage,int pageSize) {
return shuttleOrderMapper.getlist(sta,starPage,pageSize);
}
}

然后进入dao层

public interface OrderMapper{    
        //查询Order总记录的条数
 int queryToalOrder(@Param("sta")int sta);
        //我们需要的记录
 java.util.List<Order> getlist(@Param("sta")int sta,@Param("starPage")int starPage,@Param("pageSize") int pageSize);
}
然后找到对应的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.leederedu.educhat.modules.sys.dao.ShuttleOrderMapper">
    <!-- 查询我们要的记录 -->
<select id="getlist" resultType="Order">
  select a,b,c,d,e,f,g from test t where t.sta=#{sta} limit #{starPage},#{pageSize};
</select>

    <!--查询Order总记录的条数 -->
<select id="queryToalOrder" resultType="int">
  select count(*) from test t where t.sta=#{sta}
</select>

</mapper>

然后jsp中获取到对应的值展示即可。

 随手笔记,如有错误鄙人将很感激您的提出。



posted @ 2016-11-11 10:36  xie_yi  Views(737)  Comments(0Edit  收藏  举报