文章目录
1、搜索功能—界面展示
2、搜索与分页的后台代码
(1)用户输入路线名称关键字,后台将数据返回给前台
(2)前台使用分页显示
(3)分页工具条
(4)分页列表
RouteServiceTest.java
(src\main\test\service)
public class TestRouteService {
@Test
public void test01() {
//创建业务对象
RouteService routeService = new RouteService();
//所有的分类
//业务方法
//不可返回结果使用List<Route>
//分页中需要有,总记录数,每页记录数,总页数,当前页
PageBean pageBean = routeService.search("长沙", 1, 20);
//显示
System.out.println(pageBean);
}
PageBean.java(src\mian\java\domain)
public class PageBean {
//总记录数
private int totalCount;
//每页记录数
private int pageSize;
//总页数
private int totalPage;
//当前页
private int currentPage;
//当前页的数据
private List<Route> list;
}
Route.java(src\mian\java\domain)
//旅游路线
public class Route {
private int rid;//线路id,必输
private String rname;//线路名称,必输
private double price;//价格,必输
private String routeIntroduce;//线路介绍
private String rflag; //是否上架,必输,0代表没有上架,1代表是上架
private String rdate; //上架时间
private String isThemeTour;//是否主题旅游,必输,0代表不是,1代表是
private int count;//收藏数量
private int cid;//所属分类,必输
private String rimage;//缩略图
private int sid;//所属商家
private String sourceId;//抓取数据的来源id
RouteService.java
(src\main\java\service)
public class RouteService {
public PageBean search(String keyword, int currentPage, int pageSize) {
//创建分页数据对象
PageBean pb = new PageBean();
//设置每当前页号
pb.setCurrentPage(currentPage);//**1
//设置每页记录数
pb.setPageSize(pageSize);//**2
//设置总记录数
RouteDao routeDao = MySessionUtils2.getMapper(RouteDao.class);
//name
int totalCount = routeDao.findCountByName("%" + keyword + "%");
//设置总记录数
pb.setTotalCount(totalCount);//**3
//设置总页数,每页最多20条
//整数相除只保留整数,记得加一
int totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
//得到总页数
pb.setTotalPage(totalPage);//**4
//设置list集合
int start = (currentPage - 1) * pageSize;
List<Route> list = routeDao.findPageByName("%" + keyword + "%", start, pageSize);
//得到集合
pb.setList(list);
return pb;
}
RouteDao.java
(src\main\java\dao)
public interface RouteDao {
//根据关键字查找所有的路线
//select * from tab_route where rname like "%长沙%"
int findCountByName(String keyword