个人旅游网(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(分页的条件)

相关推荐
2301_775281191 天前
法语旅游常用口语-柯桥学外语到蓝天广场泓畅学校
学习·生活·旅游
diandian~1 天前
[N1CTF 2018]eating_cms
web
IDC02_FEIYA1 天前
Discuz论坛网站管理员的默认用户名admin怎么修改啊?
服务器·web
坠入暮云间x2 天前
Nodejs开发仿马蜂窝旅游小程序API接口,服务器端开发,商家后台 Vue3+微信小程序+koa+mongodb+node.js
微信小程序·小程序·旅游
qt6953188_3 天前
千益畅行,共享旅游新时代的璀璨之星与未来前景展望
大数据·人工智能·创业创新·旅游
冷琴19963 天前
基于Python+Vue开发的旅游景区管理系统
vue.js·python·旅游
Dovir多多3 天前
Linux守护Pythom脚本运行——Supervisor学习总结
linux·运维·服务器·python·安全·云计算·web
《源码好优多》3 天前
基于Java Springboot旅游民宿信息管理系统
java·spring boot·旅游
开心工作室_kaic3 天前
ssm147旅游攻略网站设计+jsp(论文+源码)_kaic
java·开发语言·旅游
《源码好优多》3 天前
基于Java Springboot甘肃旅游管理系统
java·spring boot·旅游