3、实体类:.java中的创建者属性也要修改 。
/*** 创建者*/private String createBy;
二、文章标签功能实现
好啦,以上的bug修改完成,下面我们进行标签功能的开发,前面有读者问有没有批量插入,标签会有的,一篇文章可能会有多个标签,所以我们要多添加批量插入和批量删除的方法,另外还要过滤以下要插入的标签是否和数据库有重复,有重复数据库就不再添加了,保证数据表的标签唯一 。
1、添加实体类
和以前一样,根据数据库进行设计对象,标签比较简单点,就一个内容 。
新建一个实体类:Tag.java
package com.blog.personalblog.entity;import lombok.Data;import java.time.LocalDateTime;/*** 标签** @author: SuperMan* @create: 2021-11-28*/@Datapublic class Tag {/*** 主键id*/private Integer id;/*** 标签名称*/private String tagName;/*** 创建时间*/private LocalDateTime createTime;/*** 更新时间*/private LocalDateTime updateTime;}
2、添加业务接口
新建一个接口:.java
可以看到接口中比以前的基本功能多了两个接口,批量删除和批量添加,我们重点讲一下这两个方法,在以后的开发中会经常使用到 。
package com.blog.personalblog.service;import com.blog.personalblog.config.page.PageRequest;import com.blog.personalblog.entity.Tag;import java.util.List;/*** @author: SuperMan* @create: 2021-11-28*/public interface TagService {/*** 获取所有的标签(分页)* @return*/List getTagPage(PageRequest pageRequest);/*** 新建标签* @param tag* @return*/int saveTag(Tag tag);/*** 修改标签* @param tag* @return*/int updateTag(Tag tag);/*** 删除标签* @param tagId*/void deleteTag(Integer tagId);/*** 批量添加* @param tags* @return*/boolean batchAddTag(String tags) throws Exception;/*** 批量删除标签* @param ids* @return*/boolean batchDelTag(String ids);/*** 根据标签查找* @param tagName* @return*/Tag findByTagName(String tagName);}
3、添加业务接口实现类
实现类:.java
和以前不一样的是多了和两个方法,具体的每一步我都添加了注释,大家应该可以看明白 。
批量插入: 前端传来的是字符串格式的标签,我们约定好以英文逗号把标签隔开,然后我们传参将字符串获取到,然后进行拆分字符串转成数组的格式,大家学基础的时候肯定知道学习了数组,数据以下标0开始的,我们可以遍历数组 。
for(类型 变量 : 数组){}
这种for循环要学会使用,非常的方便,具体可以去百度查找用法 。
然后我们再定义一个List集合来存放我们每一个对象,我们每次遍历的时候都要去表中查找是否有添加的标签,没有的话则存入List集合中,有的话则不存 。然后再限制下批量添加标签的个数,都通过则进行数据的插入 。
- 盘点Spring/Boot的那些常用扩展点
- 三万字盘点Spring/Boot的那些常用扩展点
- 【独立版】智慧城市同城V4_2.2.7全开源全插件VUE版
- 【独立版】智慧城市同城V4_2.1.4全开源全插件VUE版
- vue body的背景图片属性设置
- springboot集成redis模拟手机发送验证码进行验证
- Spring Cloud应用接入华为云微服务CSE
- 基于Spring Boot 2.0的IoT应用集成和使用CSE实践
- Spring Boot 2.0集成和使用CSE
- Vue 不睡觉教程1-从最土开始