当前位置: 首页 > wzjs >正文

上线了免费建网站成都关键词优化报价

上线了免费建网站,成都关键词优化报价,沈阳建设电商网站,jimdo和wordpress📖 模块概述 文章分类模块包括 新增文章分类、文章分类列表、获取文章分类详情、更新文章分类、删除文章分类 功能。本篇对于原项目进行了代码优化,将原先写在 Controller 层的业务逻辑代码迁移至了 Service 层。 🛠️ 技术实现要点 分组校…

📖 模块概述

  • 文章分类模块包括 新增文章分类、文章分类列表、获取文章分类详情、更新文章分类、删除文章分类 功能。
  • 本篇对于原项目进行了代码优化,将原先写在 Controller 层的业务逻辑代码迁移至了 Service 层。

🛠️ 技术实现要点

  • 分组校验
    • 定义分组:在实体类内部定义接口
    • 对校验项进行分组:通过 groups 属性指定
    • 校验时指定分组:给 @Validated 注解的 value 属性赋值
    • 校验项默认属于:Default 分组

⚙️ 各层职责与代码规范

🔗 Controller 层

@RestController
@RequiredArgsConstructor
@RequestMapping("/category")
public class CategoryController {...
}

🔗 Service 层

public interface CategoryService {...
}
@Service
@RequiredArgsConstructor
public class CategoryServiceImpl implements CategoryService {...
}

🔗 Mapper 层

@Mapper
public interface CategoryMapper {...
}

🔗 层间交互与依赖注入

@Service
@RequiredArgsConstructor
public class CategoryServiceImpl implements CategoryService {private final CategoryMapper categoryMapper;...
}
@RestController
@RequiredArgsConstructor
@RequestMapping("/category")
public class CategoryController {private final CategoryService categoryService;...
}

🔍 功能实现详解

🎯 新增文章分类

🧩 Controller 层

请求路径:/category
请求方式:POST
接口描述:该接口用于新增文章分类

@PostMapping
public Result addCategory(@RequestBody @Validated(Category.Add.class) Category category) {categoryService.addCategory(category);return Result.success();
}

🧩 Service 层

  • 接口
// 新增分类
void addCategory(Category category);// 根据分类名称查询分类信息
Category findCategoryByName(String categoryName);// 根据分类别名查询分类信息
Category findCategoryByAlias(String categoryAlias);
  • 实现
/*** 添加分类** @param category 分类对象*/
@Override
public void addCategory(Category category) {// 补充属性值category.setCreateTime(LocalDateTime.now());category.setUpdateTime(LocalDateTime.now());Map<String, Object> map = ThreadLocalUtil.get();Integer userId = (Integer) map.get("id");category.setCreateUser(userId);// 判断分类名称是否已存在Category categoryByName = findCategoryByName(category.getCategoryName());if (categoryByName != null) {throw new RuntimeException("分类名称已存在");}// 判断分类别名是否已存在Category categoryByAlias = findCategoryByAlias(category.getCategoryAlias());if (categoryByAlias != null) {throw new RuntimeException("分类别名已存在");}categoryMapper.addCategory(category);
}/*** 根据分类名称查询分类对象** @param categoryName 分类名称* @return 分类对象*/
@Override
public Category findCategoryByName(String categoryName) {return categoryMapper.findCategoryByName(categoryName);
}/*** 根据分类别名查询分类对象** @param categoryAlias 分类别名* @return 分类对象*/
@Override
public Category findCategoryByAlias(String categoryAlias) {return categoryMapper.findCategoryByAlias(categoryAlias);
}

Mapper 层

// 新增文章分类
@Insert("insert into category(category_name, category_alias, create_user, create_time, update_time) " +"values(#{categoryName}, #{categoryAlias}, #{createUser}, #{createTime}, #{updateTime})")
void addCategory(Category category);// 根据分类名称查询分类
@Select("select * from category where category_name = #{categoryName}")
Category findCategoryByName(String categoryName);// 根据分类别名查询分类
@Select("select * from category where category_alias = #{categoryAlias}")
Category findCategoryByAlias(String categoryAlias);

🎯 文章分类列表

🧩 Controller 层

请求路径:/category
请求方式:GET
接口描述:该接口用于获取当前已登录用户创建的所有文章分类

@GetMapping
public Result<List<Category>> getCategoryList() {List<Category> categoryList = categoryService.getCategoryList();return Result.success(categoryList);
}

🧩 Service 层

  • 接口
// 列表查询
List<Category> getCategoryList();
  • 实现
/*** 查询分类列表** @return 分类列表*/
@Override
public List<Category> getCategoryList() {Map<String, Object> map = ThreadLocalUtil.get();Integer userId = (Integer) map.get("id");return categoryMapper.getCategoryList(userId);
}

🧩 Mapper 层

// 查询某用户的所有文章分类
@Select("select * from category where create_user = #{userId}")
List<Category> getCategoryList(Integer userId);

🎯 获取文章分类详情

🧩 Controller 层

请求路径:/category/detail
请求方式:GET
接口描述:该接口用于根据ID获取文章分类详情

@GetMapping("/detail")
public Result<Category> getCategoryDetail(Integer id) {Category category = categoryService.findCategoryById(id);return Result.success(category);
}

🧩 Service 层

  • 接口
// 根据 id 查询分类信息
Category findCategoryById(Integer id);
  • 实现
/*** 根据id查询分类对象** @param id 分类id* @return 分类对象*/
@Override
public Category findCategoryById(Integer id) {Category category = categoryMapper.findCategoryById(id);return category;
}

🧩 Mapper 层

// 根据 id 查询文章分类
@Select("select * from category where id = #{id}")
Category findCategoryById(Integer id);

🎯 更新文章分类

🧩 Controller 层

请求路径:/category
请求方式:PUT
接口描述:该接口用于更新文章分类

@PutMapping
public Result updateCategory(@RequestBody @Validated(Category.Update.class) Category category) {categoryService.updateCategory(category);return Result.success();
}

🧩 Service 层

  • 接口
// 更新文章分类
void updateCategory(Category category);
  • 实现
/*** 修改分类** @param category 分类对象*/
@Override
public void updateCategory(Category category) {category.setUpdateTime(LocalDateTime.now());categoryMapper.updateCategory(category);
}

🧩 Mapper 层

@Update("update category " +"set category_name = #{categoryName}, category_alias = #{categoryAlias}, update_time = #{updateTime} " +"where id = #{id}")
void updateCategory(Category category);

🎯 删除文章分类

请求路径:/category
请求方式:DELETE
接口描述:该接口用于根据ID删除文章分类

🧩 Controller 层

@DeleteMapping
public Result deleteCategory(Integer id){categoryService.deleteCategoryById(id);return Result.success();
}

🧩 Service 层

  • 接口
// 删除文章分类
void deleteCategoryById(Integer id);
  • 实现
/*** 根据id删除分类** @param id 分类id*/
@Override
public void deleteCategoryById(Integer id) {categoryMapper.deleteCategoryById(id);
}

🧩 Mapper 层

@Delete("delete from category where id = #{id}")
void deleteCategoryById(Integer id);
http://www.dtcms.com/wzjs/302456.html

相关文章:

  • 山西住房城乡建设部网站百度软件应用中心下载
  • 建设厅官方网站下载专区徐州新站百度快照优化
  • 绵阳网站建设费用北京企业网站seo平台
  • 支付宝可以给第三方网站做担保么短视频矩阵seo系统源码
  • 怎么建设一个付费视频网站疫情二十条优化措施
  • web开发就是制作网站吗商品标题seo是什么意思
  • 国外高端网站上海百度整站优化服务
  • 江西专业南昌网站建设营销推广计划书
  • 潍坊可以做网站的公司外包seo公司
  • 网站加速cdn自己做百度地址
  • 网站建设上海济南seo网站优化公司
  • 增城区建设局网站网站页面优化方法
  • 企业展示网站模板免费下载蜜雪冰城推广软文
  • 部队网站模板医疗器械龙头股
  • 网站开发必会语言郑州seo联系搜点网络效果好
  • 昆明企业网站模板建站网络营销的手段包括
  • 日照网站建设网站优化seo是什么
  • 网站seo外包开展网络营销的企业
  • 广州seo网站推广费用衡阳百度推广公司
  • 网站建设目的背景怎么写软文写作平台
  • 网站 建设 开发 协议windows优化大师好吗
  • 网络策划营销东莞百度网站排名优化
  • 龙岩网站建设方案同城推广有什么平台
  • 三河市建设厅公示网站四川最好的网络优化公司
  • 做白酒网站百度统计工具
  • 科技公司网站设计欣赏大数据推广公司
  • 网站seo排名培训seo
  • 上海信息技术做网站2023年国家免费技能培训
  • 线上咨询上门服务网站建设方案网站收录是什么意思
  • 武功做网站品牌运营具体做什么