0
点赞
收藏
分享

微信扫一扫

Day19JavaWeb【旅游项目】 分类与分页的后台代码***


学习目标

  • (1)按分类显示路线数据
  • (2)按详情显示路线
  • (3)后台最核心的还是业务方法与sql
  • (4)前台最核心的是$(“#”) 拼接 html()函数修改内容

分类与分页的分析

Day19JavaWeb【旅游项目】 分类与分页的后台代码***_分页

分类与分页的后台代码

RouteServiceTest

@Test
public void test02() throws JsonProcessingException {
//业务对象
RouteService routeService = new RouteService();
//根据指定分类 cid 1 查找路线,但是路线记录需要使用分页来显示 currentPage1 pageSize20
PageBean pb = routeService.findPageByCid(1,1,20);
//生成json
ResponseInfo responseInfo = new ResponseInfo();
responseInfo.setCode(200);
responseInfo.setData(pb);
String json = new ObjectMapper().writeValueAsString(responseInfo);
System.out.println(json);
}

RouteService

public PageBean findPageByCid(int cid, int currentPage, int pageSize) {
//给pageBean的四个整数与一个集合 查找值
PageBean pb = new PageBean();
//设置当前页号
pb.setCurrentPage(currentPage);//1*
//设置每页记录数
pb.setPageSize(pageSize);//2
//设置总记录数
RouteDao routeDao = MySessionUtils2.getMapper(RouteDao.class);

int totalCount = routeDao.findCountByCid(cid);
pb.setTotalCount(totalCount);//3*

int totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
pb.setTotalPage(totalPage);//4*

int start = (currentPage - 1) * pageSize;
List<Route> list = routeDao.findPageByCid(cid, start, pageSize);
pb.setList(list);//集合
return pb;
}

RouteDao

//select count(*) from tab_route where cid = 1;
int findCountByCid(int cid);

//select * from tab_route where cid = 5 limit 40,20;
List<Route> findPageByCid(int cid, int start, int pageSize);

<select id="findCountByCid" parameterType="int" resultType="int">
select count(*) from tab_route where cid = #{cid};
</select>
<select id="findPageByCid" resultType="route">
select * from tab_route where cid = #{arg0} limit #{arg1},#{arg2};
</select>

Route2Servlet

//http://localhost:8080/lvyou_war_exploded/route2Servlet?cid=5¤tPage=1&pageSize=20
@WebServlet("/route2Servlet")
public class Route2Servlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//1 接收请求,获取参数
String cidStr = request.getParameter("cid");
String currentPageStr = request.getParameter("currentPage");
String pageSizeStr = request.getParameter("pageSize");

int cid = 0; //"1" 1 "你好" 异常
try {
cid = Integer.parseInt(cidStr);
} catch (NumberFormatException e) {
e.printStackTrace();
}
int currentPage = 1; //"1" 1 "你好" 异常
try {
currentPage = Integer.parseInt(currentPageStr);
} catch (NumberFormatException e) {
e.printStackTrace();
}
int pageSize = 20 ;
try {
pageSize = Integer.parseInt(pageSizeStr);
} catch (NumberFormatException e) {
e.printStackTrace();
}
//2 处理参数
//业务对象
RouteService routeService = new RouteService();
//根据指定分类 cid 1 查找路线,但是路线记录需要使用分页来显示 currentPage1 pageSize20
PageBean pb = routeService.findPageByCid(cid,currentPage,pageSize);
//生成json
ResponseInfo responseInfo = new ResponseInfo();
responseInfo.setCode(200);
responseInfo.setData(pb);
String json = new ObjectMapper().writeValueAsString(responseInfo);
//3 响应浏览器

response.getWriter().println(json);

}
}


举报

相关推荐

0 条评论