个人旅游网(3)——功能详解——旅游路线功能

文章目录

一、旅游路线分类功能

页面效果图:

上述的每个线路分类下有许多的旅游路线,不同的线路分类会区分不同的旅游路线。线路分类作为导航栏的数据,并不会受到用户频繁的增删改查,并且这些路线分类数据需要经常使用到,因此可以将这些数据存储至reids中,这样每次从缓存获取这些数据的速度就会比从数据查询这些数据快得多。

1.1、接口详解

该功能涉及一个 接口,findAll(从category路线分类表中查询出所有路线分类)

1.1.1、findAll

首先定义一个 key 值,根据key值从redis中取出value值,如果redis中取出的value值为空,再从数据库中查询所有线路分类数据,然后再将线路分类数据存入redis中,以后就可以从redis中获取线路分类数据了。

二、路线分类下的旅游路线功能

页面效果图:

该功能涉及到通过路线分类的cid来查询某个路线分类下的所有旅游路线,并且这些旅游路线以每1页3条数据的分页条件展示,同时实现以旅游路线名称的模糊搜索。该功能涉及一个接口,findRouteListByCid

2.2、接口详解

2.2.1、findRouteListByCid

首先设置好分页条件,然后将前端参数cid、rname获取,在数据库中通过cid查询到对应cid下的所有里边有路线,同时以rname作为模糊搜索的条件。

三、点击单条旅游路线查看其详情功能

页面效果图:

该功能主要是根据旅游线路id查询当前该条旅游线路的详情,由于该功能的实现较为复杂,在进行接口详解前先进行具体分析以及sql详情分析。

3.1、接口详解

3.1.1、findRouteListByRid

由于联表查询,因此使用Map接收从数据库查询得到的数据,再使用工具类将此Map转为Route对象。

由于只联表查询了线路分类表、商家表,因此数据库查询得到的数据返回给map时,map中获得的数据并不包含旅游线路图得信息,其实当初在联表表查询时加上旅游线路图表一起查,然后旅游线路图信息也是跟线路分类信息category、商家信息seller一样从map中获取然后设置给route也可以,也可以单独使用sql语句从数据库查询出旅游线路图信息信息,然后再设置给route也可以,我采用的是第2种写法。

四、分页功能

可以自己实现分页功能,也可以调用springboot提供的分页插件。调用springboot提供的现成的分页插件步骤:

4.1、导入依赖

xml 复制代码
 <!--        分页插件-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.1.2</version>
        </dependency>

4.2、配置项的配置

java 复制代码
import com.github.pagehelper.PageInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;

/**
 * 使用该插件进行分页
 */
@Configuration
public class PageHelperConfig {
    @Bean
    public PageInterceptor pageInterceptor() {
        PageInterceptor pageInterceptor = new PageInterceptor();

        //设置参数
        Properties properties = new Properties();
        //reasonable:分页合理化参数,默认值为false, 直接根据参数进行查询。
        //               当该参数设置为 true 时,pageNum<=0 时会查询第一页,
        //               pageNum>pages(超过总数时),会查询最后一页。
        properties.setProperty("reasonable", "true");
        //配置helperDialect属性来指定分页插件使用哪种方言
        properties.setProperty("helperDialect", "mysql");
        pageInterceptor.setProperties(properties);

        return pageInterceptor;
    }
}

4.3、实现分页

在原本的查询语句上,加上一句代码即可实现的分页查询:PageHelper.startPage(分页的条件)

相关推荐
把我的故事说给你14 小时前
当我用影刀AI Power做了一个旅游攻略小助手
旅游·影刀ap·影刀ai power
王ASC17 小时前
SpringMVC的URL组成,以及URI中对/斜杠的处理,解决IllegalStateException: Ambiguous mapping
java·mvc·springboot·web
小万编程21 小时前
【2025最新计算机毕业设计】新型吃住玩一体化旅游管理系统【提供源码+答辩PPT+文档+项目部署】
课程设计·旅游
嗨小陈1 天前
旅游推荐系统设计与实现 计算机毕业设计 有源码 P10090
spring boot·课程设计·旅游·计算机毕业设计
汤姆yu1 天前
基于微信小程序的乡村旅游系统
微信小程序·旅游·乡村旅游
一起学习计算机1 天前
13、基于SpringBoot的旅游网站的设计与实现
spring boot·旅游
Q_19284999062 天前
基于Spring Boot的阿坝州旅游系统
spring boot·后端·旅游
程序员大金2 天前
基于SSM+Vue的个性化旅游推荐系统
前端·vue.js·mysql·java-ee·tomcat·mybatis·旅游
qq_424317182 天前
html+css网页设计 旅游 移动端 雪花旅行社4个页面
css·html·旅游
非凡的世界3 天前
5个用于构建Web应用程序的Go Web框架
golang·go·框架·web