>本文CSDN链接:[https://blog.csdn.net/weixin_43734095/article/details/106959586](https://blog.csdn.net/weixin_43734095/article/details/106959586)
好像没有必要一段段的把代码贴上来,毫无意义,不如把完整的项目放出来,基本有点基础的都可以看懂哈,然后博客记录一下遇到的问题和重要的知识点。。
> 项目 github 网址:[https://github.com/szluyu99/travels/tree/master](https://github.com/szluyu99/travels/tree/master)
> 视频链接:[https://www.bilibili.com/video/BV1Nt4y127Jh?p=19](https://www.bilibili.com/video/BV1Nt4y127Jh?p=19)
# 项目简介
**所需技术栈**:
* 后端技术栈:**springboot** + **mybatis**
* 前后端分离:axios、json
* 前端技术栈、技术架构:Vue、node.js
**前置知识**:
* 了解 Vue 组件之前的知识
* 对 springboot + mybatis 较熟悉
开发流程:
* 需求分析
* 库表设计
* 编码(项目环境搭建+编码)
* 项目调试
* 项目部署上线
**需求分析**:
* 用户模块:登录 + 注册
* 省份模块:一个省份可能存在多个景点
* 景点模块:一个景点对应多个省份
## 项目演示
进入系统需登录:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200626223232435.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczNDA5NQ==,size_16,color_FFFFFF,t_70)
用户注册页面:
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020062622343822.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczNDA5NQ==,size_16,color_FFFFFF,t_70)
省份列表页面:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200626223254725.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczNDA5NQ==,size_16,color_FFFFFF,t_70)
添加省份页面:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200626223631355.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczNDA5NQ==,size_16,color_FFFFFF,t_70)
修改省份页面:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200626223309698.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczNDA5NQ==,size_16,color_FFFFFF,t_70)
景点列表页面:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200626223346854.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczNDA5NQ==,size_16,color_FFFFFF,t_70)
添加景点页面:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200626223556642.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczNDA5NQ==,size_16,color_FFFFFF,t_70)
修改景点页面:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200626223359938.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzczNDA5NQ==,size_16,color_FFFFFF,t_70)
## 数据库建表
用户表 `t_user` —— 独立的表
* id、username、password、email
省份表 `t_province` [省份表 : 景点表] —— [1 : N]
* id、name、tags、placecounts
景点表 `t_place`
* id、name、picpath、hottime、hotticket、dimticket、placedes、provinceid(外键)
---
数据库名:`travels`
用户表 SQL:
```sql
CREATE TABLE t_user(
id INT(6) PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(60),
password VARCHAR(60),
email VARCHAR(60)
);
```
省份表 SQL:
```sql
CREATE TABLE t_province(
id INT(6) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(60),
tags VARCHAR(80),
placecounts INT(4)
);
```
景点表 SQL:
```sql
CREATE TABLE t_place(
id INT(6) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(60),
picpath MEDIUMTEXT,
hottime TIMESTAMP,
hotticket DOUBLE(7,2),
dimticket DOUBLE(7,2),
placedes VARCHAR(300),
provinceid INT(6) REFERENCES t_province(id)
);
```
# 环境搭建
利用 **Spring Initializr** 快速搭建 SpringBoot 项目。
## 引入依赖(pom.xml)
```xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!--继承springboot父项目-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.yusael</groupId>
<artifactId>mytravels</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>mytravels</name>
<description>springboot + vue</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--web依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.2</version>
</dependency>
<!--热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
</dependency>
<!--test-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!--文件上传-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
<!--测试-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
```
## 配置文件(application.properties)
application.properties:
```properties
server.port=8989
spring.application.name=travels
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/travels?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=1234
mybatis.mapper-locations=classpath:com/yusael/travels/mapper/*.xml
mybatis.type-aliases-package=com.yusael.travels.entity
logging.level.root=info
logging.level.com.yusael.travels.dao=debug
# 上传的图片存放的路径
upload.dir=D:/CodePro/IdeaPro/SpringBoot/travels/images
spring.resources.static-locations=file:${upload.dir}
```
# href="javascript:;" 含义
代码中经常遇到这种写法:
```html
<a href="javascript:;" @click="deleteProvince(province.id)">删除省份</a>
```
其中的 `href="javascript:;"` 是什么意思呢?
* `javascript:` 表示在触发默认动作时,执行一段 JavaScript 代码;
* `javascript:;` 表示什么都不执行,这样点击时就没有任何反应,相当于去掉 a 标签的默认行为。
# select - op
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本文CSDN链接: 好像没有必要一段段的把代码贴上来,毫无意义,不如把完整的项目放出来,基本有点基础的都可以看懂哈,然后博客记录一下遇到的问题和重要的知识点。。 项目 github 网址: 视频链接: 项目简介 所需技术栈: 后端技术栈:springboot + mybatis 前后端分离:axios、json 前端技术栈、技术架构:Vue、node.js 前置知识: 了解 Vue 组件之前的知识 对 springboot + mybatis 较熟悉 开发流程: 需求分析 库表设计 编码(项目环境搭建+编码) 项目调试 项目部署上线 需求分析: 用户模块:登录 + 注册 省份模块:一个省份可能存在多个景点 景点模块:一个景点对应多个省份 项目演示 进入系统需登录: 用户注册页面: 省份列表页面: 添加省份页面: 修改省份页面: 景点列表页面: 添加景点页面: 修改景点页面: 数据库建表 用
资源推荐
资源详情
资源评论
收起资源包目录
travels-master.zip (46个子文件)
travels-master
src
test
java
com
yusael
travels
test
TestUserService.java 796B
main
resources
application.properties 679B
com
yusael
travels
mapper
UserMapperDAOMapper.xml 634B
ProvinceMapperDAOMapper.xml 1KB
PlaceMapperDAO.xml 2KB
static
province
addprovince.html 3KB
updateprovince.html 3KB
provincelist.html 5KB
img
tianam.jpg 19KB
gug.jpg 18KB
vcode.png 58KB
timg.jpg 63KB
yihy.jpg 13KB
js
vue.js 146KB
axios.min.js 14KB
login.html 4KB
reg.html 4KB
viewspot
addviewspot.html 6KB
viewspotlist.html 6KB
updateviewspot.html 6KB
css
style.css 746B
java
com
yusael
travels
service
UserServiceImpl.java 1KB
ProvinceServiceImpl.java 1KB
ProvinceService.java 539B
UserService.java 167B
PlaceService.java 398B
PlaceServiceImpl.java 2KB
utils
CreateImageCode.java 7KB
controller
UserController.java 4KB
ProvinceController.java 3KB
PlaceController.java 4KB
dao
ProvinceDAO.java 198B
UserDAO.java 278B
BaseDAO.java 362B
PlaceDAO.java 519B
TravelsApplication.java 313B
entity
User.java 332B
Result.java 357B
Place.java 627B
Province.java 397B
images
20200626222701.jpg 534KB
20200626220115.jpg 601KB
20200626165110.jpg 497KB
20200626220758.jpg 509KB
README.md 26KB
pom.xml 2KB
共 46 条
- 1
资源评论
- 忧伤的石一2023-07-25: 这个文件描述了使用SpringBoot和Vue搭建旅游项目的步骤,并提供了一些实用的技巧和经验分享。
- whph2023-07-25: 文件中提供的示例代码和演示效果非常有帮助,让读者能够更好地理解和应用这个旅游项目。
- 呆呆美要暴富2023-07-25: 作者对旅游项目的介绍很全面,通过该文件可以快速了解项目的基本架构和功能。
- 玛卡库克2023-07-25: 文件内容结构清晰,对于想了解SpringBoot和Vue搭建旅游项目的人来说,是一个有用的参考。
- 焦虑肇事者2023-07-25: 这个文件提供了关于旅游项目的详细信息,非常直观易懂。
华笠医生
- 粉丝: 672
- 资源: 4679
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 针对实时视频流和静态图像实现的对象检测和跟踪算法 .zip
- 部署 yolox 算法使用 deepstream.zip
- 基于webmagic、springboot和mybatis的MagicToe Java爬虫设计源码
- 通过实时流协议 (RTSP) 使用 Yolo、OpenCV 和 Python 进行深度学习的对象检测.zip
- 基于Python和HTML的tb商品列表查询分析设计源码
- 基于国民技术RT-THREAD的MULTInstrument多功能电子测量仪器设计源码
- 基于Java技术的网络报修平台后端设计源码
- 基于Python的美食杰中华菜系数据挖掘与分析设计源码
- 30.STM32_UART_RFID_读卡号_初始化钱包_语音.rar
- 基于Java开发的个人知识库记录系统设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功