目录
新增分类
分类分页查询
启用禁用分类
根据类型查询
修改分类
本文介绍SpringBoot项目中的分类管理,操作类似员工管理模块,具体详解可见以下博客,此处给出各部分代码
2--SpringBoot项目中员工管理 详解(一)-CSDN博客
3--SpringBoot项目中员工管理 详解(二)-CSDN博客
新增分类
package com.sky.controller.admin;
import com.sky.dto.CategoryDTO;
import com.sky.properties.JwtProperties;
import com.sky.result.Result;
import com.sky.service.CategoryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/admin/category")
@Slf4j
@Api(tags = "分类相关接口")
public class CategoryController {
    @Autowired
    private CategoryService categoryService;
    //新增分类
    @PostMapping
    @ApiOperation("新增分类")
    public Result save(@RequestBody CategoryDTO categoryDTO){
        log.info("新增分类:{}",categoryDTO);
        categoryService.save(categoryDTO);
        return  Result.success();
    }
}
package com.sky.service;
import com.sky.dto.CategoryDTO;
public interface CategoryService {
    //新增分类
    void save(CategoryDTO categoryDTO) ;
}
package com.sky.service.impl;
import com.sky.constant.StatusConstant;
import com.sky.context.BaseContext;
import com.sky.dto.CategoryDTO;
import com.sky.entity.Category;
import com.sky.mapper.CategoryMapper;
import com.sky.service.CategoryService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
@Service
public class CategoryServiceImpl implements CategoryService {
    //新增分类
    @Autowired
    private CategoryMapper categoryMapper;
    @Override
    public void save(CategoryDTO categoryDTO) {
        Category category = new Category();
        BeanUtils.copyProperties(categoryDTO,category);
       // BeanUtils.copyProperties(categoryDTO,category);
        category.setStatus(StatusConstant.ENABLE);
        category.setCreateTime(LocalDateTime.now());
        category.setUpdateTime(LocalDateTime.now());
        category.setCreateUser(BaseContext.getCurrentId());
        category.setUpdateUser(BaseContext.getCurrentId());
        categoryMapper.insert(category);
    }
}
package com.sky.mapper;
import com.sky.entity.Category;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface CategoryMapper {
    @Insert("insert into category (type, name, sort, status, create_time, " +
            "update_time, create_user, update_user) " +
            "values " +
            "(#{type},#{name},#{sort},#{status},#{createTime}," +
            "#{updateTime},#{createUser},#{updateUser})")
    void insert(Category category);
}

分类分页查询
//分类分页查询
    @GetMapping("/page")
    @ApiOperation("分类分页查询")
    public Result<PageResult> page(CategoryPageQueryDTO categoryPageQueryDTO){
        log.info("分类分页查询,参数为:{}",categoryPageQueryDTO);
        PageResult pageResult=categoryService.pageQuery(categoryPageQueryDTO);
        return Result.success(pageResult);
    }//分类分页查询
    PageResult pageQuery(CategoryPageQueryDTO categoryPageQueryDTO); @Override
    public PageResult pageQuery(CategoryPageQueryDTO categoryPageQueryDTO) {
        PageHelper.startPage(categoryPageQueryDTO.getPage(),categoryPageQueryDTO.getPageSize());
        Page<Category> page=categoryMapper.pageQuery(categoryPageQueryDTO);
        long total = page.getTotal();
        List<Category> records = page.getResult();
        return new PageResult(total,records);
    } //分类分页查询
    Page<Category> pageQuery(CategoryPageQueryDTO categoryPageQueryDTO);<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.sky.mapper.CategoryMapper">
<!--分类分页查询-->
    <select id="pageQuery" resultType="com.sky.entity.Category">
select*from category
<where>
    <if test="name!=null and name!=''">
        and name like concat('%',#{name},'%')
    </if>
<if test="type!=null">
    and type=#{type}
</if>
</where>
order by create_time desc
    </select>
</mapper>

启用禁用分类
//启用禁用分类
    @PostMapping("/status/{status}")
    @ApiOperation("启用禁用分类")
    public Result startOrStop(@PathVariable Integer status,Long id){
        log.info("启用禁用分类:{},{}",status,id);
        categoryService.startOrStop(status,id);
        return Result.success();
    }//启用禁用分类
    void startOrStop(Integer status, Long id);//启用禁用分类
    @Override
    public void startOrStop(Integer status, Long id) {
        Category category = Category.builder()
                .status(status)
                .id(id)
                .build();
        categoryMapper.update(category);
    }
//启用禁用分类
    void update(Category category);<!--启用禁用分类-->
    <update id="update" parameterType="category">
        update category
        <set>
            <if test="name!=null">name=#{name},</if>
            <if test="type!=null">type=#{type},</if>
            <if test="sort!=null">sort=#{sort},</if>
            <if test="updateTime!=null">update_Time=#{updateTime},</if>
            <if test="updateUser!=null">update_User=#{updateUser},</if>
            <if test="status!=null">status=#{status},</if>
        </set>
        where id=#{id}
    </update>
根据类型查询
//根据类型查询
    @GetMapping("/list")
    @ApiOperation("根据类型查询")
    public Result<Category> getByType(Integer type){
        log.info("根据类型查询:{}",type);
        Category category=categoryService.getByType(type);
        return Result.success(category);
    }  //根据类型查询
    Category getByType(Integer type);
//根据类型查询
    @Override
    public Category getByType(Integer type) {
        Category category=categoryMapper.getByType(type);
        
        return category;
    }//根据类型查询
    @Select("select *from category where type=#{type}")
    Category getByType(Integer type);
修改分类
//修改分类
    @PutMapping
    @ApiOperation("修改分类")
    public Result update(@RequestBody CategoryDTO categoryDTO){
        log.info("修改分类:{}",categoryDTO);
        categoryService.update(categoryDTO);
        return Result.success();
    }//修改分类
    void update(CategoryDTO categoryDTO); //修改分类
    @Override
    public void update(CategoryDTO categoryDTO) {
        Category category = new Category();
        BeanUtils.copyProperties(categoryDTO,category);
        category.setUpdateTime(LocalDateTime.now());
        category.setUpdateUser(BaseContext.getCurrentId());
        categoryMapper.update(category);
    }




![[Redis][数据类型]详细讲解](https://i-blog.csdnimg.cn/direct/1ea047a7aa75456187bca97d21d470a9.png)











![[OpenCV] 数字图像处理 C++ 学习——16直方图均衡化、直方图比较 详细讲解+附完整代码](https://i-blog.csdnimg.cn/direct/f96f4e0efb8a46b78421d7efb5b896ee.png)


