# travel **Repository Path**: infiniteStars/travel ## Basic Information - **Project Name**: travel - **Description**: 使用SpringBoot+MybatisPlus创建的旅游网站 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-07-26 - **Last Updated**: 2022-07-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 旅游项目 - 记录一些在创建项目过程中解决的一些问题 ### 1.在thymeleaf中使用restful风格 ```html 人员管理 //第一种方法 传递一个参数 删除 //第二种方法,传递多个参数 ``` 前端接受 - 注意: 使用@PathVariable("id")接收参数 。 不能用RequestParam()。 否则会报错。 `Required request parameter 'id' for method parameter type long is not presen` ```java @GetMapping("/deleteuser/{id}/{pid}")` public String deleteuser(@PathVariable("id")long id,@PathVariable("pid")long pid, HttpSession session,Model model){ List users =(List)session.getAttribute("users"); User user = userService.getById(id); users.remove(user); model.addAttribute("users",users); return "home/usermanage"; } ``` ### 2.日期和字符串相互转换 ```java //1.将日期转化为字符串 Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String format = sdf.format(date); //2.将字符串转化为日期 String time = "1994-11-24 07:11:24"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = sdf.parse(time); ``` ### 3.使用markdown进行编辑 1. 到官网 https://pandao.github.io/editor.md/ 下载 edmtor.md 2. 部署到 static 静态资源中。 3. 注意 - 将路径改为自己的路径。 - 有一些包点不进去,使用全局搜索,查找后修改路径。确保所有的 link标签和 script标签 都能点进去。 ```html Simple example - Editor.md examples

Simple example

``` 4. 展示界面 - 注意事项和 3 一样。 ```html
``` **效果如下图所示** ![image-20210526160024466](https://i.loli.net/2021/05/26/8ITRiLD19fOuPhy.png) ### 4.使用mybatisplus进行分页操作 1. 在mybatisplusConfig中进行分页配置 ```java @Configuration @EnableTransactionManagement @MapperScan("com.dz.springboottravel.mapper") public class MybatisPlusConfig { //分页插件 @Bean public PaginationInterceptor paginationInterceptor() { return new PaginationInterceptor(); } } ``` 2. 编写Controller ```java //num 指当前页 @RequestMapping("/page{num}") public String page(@PathVariable("num")int num,Model model){ List lists = programService.list(); //查出一共有多少页 int size = programs.size(); int pageNum=size%8==0 ? size/8: size/8+1; //每页展示8条数据 Page page = new Page<>(num,8); programService.page(page); List records = page.getRecords(); model.addAttribute("pageNum",pageNum); model.addAttribute("num",num); model.addAttribute("programs",records); return "index"; } ``` 3. 前端展示 - **对数字进行遍历** ==th:each=" i : ${#numbers.sequence(1,pageNum)}"== ```html ``` - 前端页面css样式 ```css ``` ### 5.使用mybatisplus进行链式查询 - 想详细了解的可以去mybatisplus官网 https://baomidou.com/guide/wrapper.html#abstractwrapper - 日期格式可以直接比较大小 - ==key 必须和数据库中的字段名相一致。== - 前端如果是 date 类型, 后端也必须用 String 来接收 。 否则会报下边的错。 `Failed to convert value of type 'java.lang.String' to required type 'java.util.Date'` ```java @RequestMapping("/search") public String Search(String keyword, String date, String budget, Model model) throws ParseException { /**链式编程 eq = 地名相等 ge >= 开始日期大于搜索日期 le <= 预算小于等于搜索预算 **/ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date time = sdf.parse(date); List lists = programService.query().eq("place", keyword).ge("start_time",time).le("budget", Integer.parseInt(budget)).list(); model.addAttribute("lists",lists); return "tour/search"; } ``` ### 6.创建项目时,使导入的数据库依赖失效 ```java @SpringBootApplication(exclude= {DataSourceAutoConfiguration.class}) ```