编程知识 cdmana.com

SpringBoot个人博客项目搭建—后台博客界面功能介绍(六)

后台博客界面功能介绍

项目首页地址:https://blog.csdn.net/weixin_45019350/article/details/108869025

后台博客界面主要实现的是对个人博客的管理,如:查询文章列表,多条件查询,对个人博客的增删改查等功能。代码不是很复杂但注意的细节比较多。
在这里插入图片描述

注意事项: 后端如何获取前端传的参数
传统来讲,肯定是两种方式为主,一种是 GET ,一种是 POST ,这两种方式都是向一个 URL 传参 GET 方式体现到了地址栏里,POST 方式将内容放在了 body 里
@RequestParam 和 @PathVariable 注解是用于从 request 中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从 request 里面拿取值,而 @PathVariable 是从一个URI模板里面来填充

//@PathVariable是spring3.0的一个新功能:接收请求路径中占位符的值

@PathVariable("xxx")
通过 @PathVariable 可以将URL中占位符参数{
    xxx}绑定到处理器类的方法形参中@PathVariable(“xxx“) 
 
@RequestMapping(value=”types/{
    id}/input”)
请求路径:http://localhost:8080/admin/types/3/input

一、博客查询

1、普通查询
查询出来的个人博客清单随着博客数量的增加会越来越多,我们在前端查看时,就需要实现分页查看功能增加客户体验。分页功能我们使用的是PageHelper分页插件来实现。
在这里插入图片描述
业务层调用持久层,持久层查询数据,查询个人博客时我们要将博客所对应的分类也查询出来,所以这里设计一个多表查询,返回值需要用一个返回集合resultMap来表示。并查询出所对应的分类。

注意:
association是嵌套查询中最简单的一种情况
association关联的结果查询,就是在查询出结果后,根据查询的列和resultMap定义的对应关系,来创建对象并写入值。
另外:association 一对一, 一对多 collection,多对多 discrimination

在这里插入图片描述
在这里插入图片描述
2、多条件查询
当我们进行条件查询时,我们可以选择多个条件查询所需要的内容。在这里插入图片描述
我们可以通过新建一个SearchBlog实体类定义我们所需的字段进行封装最后用这个封装实体类作为查询条件去查询即可。
在这里插入图片描述

在这里插入图片描述
业务层调用持久层,持久层从数据库中查询数据。
多条件查询sql语句相对比较复杂,动态sql语句中我们采用了绑定数据和条件判断进行查询。

bind标签:可以将ognl表达式的值保定到一个变量中,方便以后使用。
这里我们将value的值,绑定到变量name中了,然后再做条件判断。

在这里插入图片描述

二、新增博客

当我们需要添加博客时我们需要跳转到新增页面进行博客编写,新增页面我们集成了一个第三方插件Markdown,网上有很多Markdown可自行搜索。

在这里插入图片描述
新增操作时我们要把分类也查询出来然后把数据带过去,在新建一个blog用于存放数据。
随后我们就可以做新增保存操作了,新增操作时,我们需要获取到前端传过来的数据,另外还要设置登录的用户和分类。
在这里插入图片描述
在业务层我们还需要对博客设置创建时间,更新时间,浏览量和博客的总访问次数
在这里插入图片描述
持久层我们就可以对博客数据进行保存操作了。
在这里插入图片描述

三、修改博客

修改博客我们需要跳转到博客编辑页面对博客进行修改操作,当我们指定所要修改的博客时,会根据该博客的id去查询出博客原有内容和原有分类。
在这里插入图片描述
编辑好内容后我们就可以直接做更新操作了。

注意:@Valid注解可以实现数据的验证,你可以定义实体,在实体的属性上添加校验规则,而在API接收数据时添加@valid关键字,这时你的实体将会开启一个校验的功能。

在这里插入图片描述
业务层需要做一个设置更新时间的操作再调用持久层。
在这里插入图片描述
持久层根据博客id对数据进行更新
在这里插入图片描述

四、删除博客

删除博客是最简单的只需要根据博客id删除数据库中该条数据即可。没有很多逻辑操作。
在这里插入图片描述
在这里插入图片描述

版权声明
本文为[〆清峰ㄟ]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_45019350/article/details/108905406

Scroll to Top