首页 > 其他分享 >4--SpringBoot项目中分类管理

4--SpringBoot项目中分类管理

时间:2024-09-22 21:22:17浏览次数:3  
标签:category Category SpringBoot -- sky 分类 分类管理 import com

 

目录

新增分类

分类分页查询

启用禁用分类

根据类型查询

修改分类


本文介绍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);
    }

标签:category,Category,SpringBoot,--,sky,分类,分类管理,import,com
From: https://blog.csdn.net/2301_77946674/article/details/142440042

相关文章

  • SAP业务技术云平台:企业创新的新动力
     在当今数字化浪潮汹涌澎湃的时代,企业面临着前所未有的机遇与挑战。以云计算、大数据、人工智能等为主的“新IT”技术正以前所未有的速度发展,深刻地改变着经济形态乃至人类社会形态。在这样的大背景下,SAP业务技术云平台(BTP)犹如一颗璀璨的明星,成为企业创新的新动力。 一、SAP业......
  • 为什么大多数开发人员都避免在MySQL表名和列名中使用中文?
    大多数开发人员避免在MySQL表名和列名中使用中文,主要有以下几个原因:1.兼容性问题不同的数据库系统和工具对字符集的支持各不相同。使用中文可能导致在不同平台或工具间的数据迁移和兼容性问题。2.编码和显示问题在某些开发环境或工具中,中文可能会出现乱码,导致调试和维护......
  • 云桌面 虚拟化数量计算
    在当今动态多变的市场环境中,企业转型已成为赢得竞争优势的关键。在这样的背景下,SAP业务技术云平台显现出其独有的战略价值,被视为企业数字化转型的强力利器。SAP作为全球领先的企业资源规划(ERP)解决方案提供商,其业务技术云平台是一个全面的、集成化的解决方案,专为支持企业各个层面......
  • python爬虫连载 HTTP请求头
    HTTP头部信息HTTP由众多头域组成,每个头域由域名、冒号、域值三部分组成。域名是大小写无关的, 请求头:1GET代表的是请求方式,HTTP/1.1表示使用HTTP1.1协议标准。2Host头域,用于指定请求资源的Intenet主机和端口号,必须表示请求URL的原始服务器或网关的位置。HTTP/1.1请求必须......
  • c语言习题
    第三章数据类型、运算符与表达式一 单项选择题1.下面四个选项中,均不是c语言关键字的选项是()。A)define   IF  Type                    B)getc   char  printfC)include   scanf  case            D)whil......
  • 408算法题leetcode--第11天
    3.无重复字符的最长子串3.无重复字符的最长子串思路:滑动窗口时间:O(n);空间:O(字符种类数)classSolution{public:intlengthOfLongestSubstring(strings){//滑动窗口:如果没有出现相同的字符,那么右指针一直向右intret=0,size=s.size();......
  • RMC语句格式
    RMC语句格式举例在GNSS(全球导航卫星系统)通信中,RMC(RecommendedMinimumSpecificGNSSData)语句是一种常用的NMEA0183格式数据,用于提供关于接收机的定位信息、速度及方向等关键数据。RMC语句特别适用于需要实时位置和速度信息的场景,如导航、跟踪和监控系统。以下是一个RMC......
  • 408算法题leetcode--第九天
    344.反转字符串344.反转字符串思路:双指针时间:O(n);空间:O(1)classSolution{public:voidreverseString(vector<char>&s){intsize=s.size();for(inti=0,j=size-1;i<j;i++,j--){swap(s[i],s[j]);}......
  • C++入门——类和对象(上)
    文章目录一、类的定义1.1类的定义格式1.2访问限定符1.3类域二、实例化2.1实例化概念2.2对象大小三、this指针四、C++和C语言实现Stack栈的对比总结一、类的定义1.1类的定义格式class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后⾯分......
  • DDD分层架构
    DDD分层架构、整洁架构、六边形架构都是以领域模型为核心,实行分层架构。内部核心业务逻辑与外部应用、资源隔离并解耦。从而设计出“高内聚、低耦合”的微服务,以实现微服务的架构演进。DDD分层架构使得微服务的架构边界变得清晰。六边形架构提到微服务架构,一定会涉及到六......