SpringBoot整合MybatisPuls手写增删改查+分页模糊查

1.首先创建实体类并且继承Mybatis-puls封装好的Entity类

package com.bingo.phanpy.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.tdeado.core.entity.Entity;
import lombok.Data;

import java.time.LocalDateTime;
@Data
//指定表名
@TableName("bg_system_function_update")
public class SystemFunctionUpdate extends Entity {
    //标明数据库id为自增id
    @TableId(value = "id", type = IdType.AUTO)
    private int id;
    //内容
    private String content;
    //时间
    private LocalDateTime time;
    //操作人
    private String operator;

}

2.创建Mapper层,并且继承BaseMapper<实体类>。

package com.bingo.phanpy.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bingo.phanpy.system.entity.SystemFunctionUpdate;


public interface SystemFunctionUpdateMapper extends BaseMapper<SystemFunctionUpdate> {

}

2.创建Service层,并且继承IBaseService<实体类>

package com.bingo.phanpy.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bingo.phanpy.system.entity.SystemFunctionUpdate;

public interface ISystemFunctionUpdateService extends IService<SystemFunctionUpdate> {

}

3.实现Service方法继承ServiceImpl<实体类,Mapper>  实现implements IService

package com.bingo.phanpy.system.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bingo.phanpy.system.entity.SystemFunctionUpdate;
import com.bingo.phanpy.system.mapper.SystemFunctionUpdateMapper;
import com.bingo.phanpy.system.service.ISystemFunctionUpdateService;
import org.springframework.stereotype.Service;

@Service
public class SystemFunctionUpdateServiceImpl extends ServiceImpl<SystemFunctionUpdateMapper, SystemFunctionUpdate> implements ISystemFunctionUpdateService {



}

4.实现Contorller方法 继承BaseController(新增,修改,删除 ,查询,查询当个,分页查询模糊查(包括根据时间段))

package com.bingo.phanpy.system.controller;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bingo.phanpy.system.entity.SystemFunctionUpdate;
import com.bingo.phanpy.system.service.ISystemFunctionUpdateService;
import com.tdeado.core.annotations.NotLogin;
import com.tdeado.core.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/system/functioUpdata")
public class SystemFunctionUpdateController extends BaseController {

    @Autowired
    private ISystemFunctionUpdateService systemFunctionUpdateService;


    /**
     * getRecords获得记录数
     * @param page
     * @param size
     * @param sys
     * @return
     */
    @NotLogin
    @RequestMapping("/queryTime")
    public Map<String,Object> queryTime(@RequestParam("page") Integer page,@RequestParam("size") Integer size, @RequestBody SystemFunctionUpdate sys){
        HashMap<String, Object> map = new HashMap<>();
        Integer page1 = page;
        Integer size1 = size;
        Page<SystemFunctionUpdate> objectPage = new Page<>(page1,size1);
        Page<SystemFunctionUpdate> page2 = systemFunctionUpdateService.page(objectPage, null);
        List<SystemFunctionUpdate> objects = new ArrayList<>();
        for (SystemFunctionUpdate r : page2.getRecords()){
            if (r.getTime().compareTo(sys.getTime())>0){
                objects.add(sys);
            }

        }
        map.put("code",0);
        map.put("data",objects);
        return map;
    }




    /**
     * 根据内容模糊查
     * @param page
     * @param size
     * @param systemFunctionUpdate
     * @return
     */
    @NotLogin
    @RequestMapping("/query")
    public Map<String,Object> query(@RequestParam("page") Integer page, @RequestParam("size") Integer size ,@RequestBody SystemFunctionUpdate systemFunctionUpdate){
        HashMap<String, Object> map = new HashMap<>();
        Integer page1 = page;
        Integer size1 = size;
        Page<SystemFunctionUpdate> objectPage = new Page<>(page1,size1);
        Page<SystemFunctionUpdate> page2 = systemFunctionUpdateService.page(objectPage, null);
        List<SystemFunctionUpdate> systemFunctionUpdates=new ArrayList<>();
        for (SystemFunctionUpdate record : page2.getRecords()) {
            if (record.getContent().contains(systemFunctionUpdate.getContent())){
                systemFunctionUpdates.add(record);
            }
        }
        map.put("code",0);
        map.put("data",systemFunctionUpdates);
        return map;
    }

    /**
     * 根据操作人模糊查
     * @param page
     * @param size
     * @param systemFunctionUpdate
     * @return
     */
    @NotLogin
    @RequestMapping("/query1")
    public Map<String,Object> query1(@RequestParam("page") Integer page, @RequestParam("size") Integer size ,@RequestBody SystemFunctionUpdate systemFunctionUpdate){
        HashMap<String, Object> map = new HashMap<>();
        //定义page size 分页参数
        Integer page1 = page;
        Integer size1 = size;
        //把参数传入page集合
        Page<SystemFunctionUpdate> objectPage = new Page<>(page1,size1);
        Page<SystemFunctionUpdate> page2 = systemFunctionUpdateService.page(objectPage, null);
        //定义一个集合
        List<SystemFunctionUpdate> systemFunctionUpdates=new ArrayList<>();
        //循环遍历SystemFunctionUpdate和分页条数
        for (SystemFunctionUpdate record : page2.getRecords()) {
            //判断查的数据是否相等
            if (record.getOperator().contains(systemFunctionUpdate.getOperator())){
                //如果相等就添加到集合中
                systemFunctionUpdates.add(record);
            }
        }
        map.put("code",0);
        map.put("data",systemFunctionUpdates);
        return map;
    }

    /**
     * 查询单个
     * @param systemFunctionUpdate
     * @return
     */
    @NotLogin
    @RequestMapping("/querOne")
    public Map<String,Object> queryOne(@RequestBody SystemFunctionUpdate systemFunctionUpdate){
        HashMap<String, Object> map = new HashMap<>();
        SystemFunctionUpdate byId = systemFunctionUpdateService.getById(systemFunctionUpdate);
        if (null==byId){
            map.put("code",-1);
        }else {
            map.put("code",0);
            map.put("data",byId);
        }
        return map;
    }

    /**
     * 查询全部
     * @return map
     */

    @NotLogin
    @RequestMapping("/queryAll")
    public Map<String,Object> queryAll(){
        HashMap<String, Object> map = new HashMap<>();
        List<SystemFunctionUpdate> list = systemFunctionUpdateService.list();
        System.out.println(systemFunctionUpdateService.list());
        map.put("date",list);
        return map;
    }

    /**
     * 新增
     * @param systemFunctionUpdate
     * @return
     */
    @NotLogin
    @PostMapping("/add")
    public Map<String,Object> add(@RequestBody SystemFunctionUpdate systemFunctionUpdate){
        HashMap<String, Object> map = new HashMap<>();
        systemFunctionUpdateService.save(systemFunctionUpdate);
        map.put("msg","新增成功");
        return map;
    }

    /**
     * 修改方法
     * @param systemFunctionUpdate
     * @return
     */
    @NotLogin
    @RequestMapping("/upd")
    public Map<String,Object> upd(@RequestBody SystemFunctionUpdate systemFunctionUpdate){
        HashMap<String,Object> map = new HashMap<>();
        systemFunctionUpdateService.updateById(systemFunctionUpdate);
        map.put("msg","成功");
        return  map;
    }

    /**
     * 删除方法
     * @param systemFunctionUpdate
     * @return
     */

    @NotLogin
    @RequestMapping("/del")
    public Map<String,Object> del(@RequestBody SystemFunctionUpdate systemFunctionUpdate){
        HashMap<String,Object> map = new HashMap<>();
        systemFunctionUpdateService.removeById(systemFunctionUpdate);
        map.put("msg","成功");
        return  map;
    }
}

5.测试结果(请用Postman工具测试,一定要用json格式传参)

5.1 分页测试(要带分页参数)

 

5.2

##注此代码传参方式为POST方法 参数格式为Json 请勿用GET请求方式 不然报错  哈哈哈哈

##若有问题请联系我WX:Duxing0403

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程简介:历经半个多月的时间,Debug亲自撸的 “企业员工角色权限管理平台” 终于完成了。正如字面意思,本课程讲解的是一个真正意义上的、企业级的项目实战,主要介绍了企业级应用系统中后端应用权限的管理,其中主要涵盖了六大核心业务模块、十几张数据库表。 其中的核心业务模块主要包括用户模块、部门模块、岗位模块、角色模块、菜单模块和系统日志模块;与此同时,Debug还亲自撸了额外的附属模块,包括字典管理模块、商品分类模块以及考勤管理模块等等,主要是为了更好地巩固相应的技术栈以及企业应用系统业务模块的开发流程! 核心技术栈列表: 值得介绍的是,本课程在技术栈层面涵盖了前端和后端的大部分常用技术,包括Spring BootSpring MVC、MybatisMybatis-Plus、Shiro(身份认证与资源授权跟会话等等)、Spring AOP、防止XSS攻击、防止SQL注入攻击、过滤器Filter、验证码Kaptcha、热部署插件Devtools、POI、Vue、LayUI、ElementUI、JQuery、HTML、Bootstrap、Freemarker、一键打包部署运行工具Wagon等等,如下图所示: 课程内容与收益: 总的来说,本课程是一门具有很强实践性质的“项目实战”课程,即“企业应用员工角色权限管理平台”,主要介绍了当前企业级应用系统中员工、部门、岗位、角色、权限、菜单以及其他实体模块的管理;其中,还重点讲解了如何基于Shiro的资源授权实现员工-角色-操作权限、员工-角色-数据权限的管理;在课程的最后,还介绍了如何实现一键打包上传部署运行项目等等。如下图所示为本权限管理平台的数据库设计图: 以下为项目整体的运行效果截图: 值得一提的是,在本课程中,Debug也向各位小伙伴介绍了如何在企业级应用系统业务模块的开发中,前端到后端再到数据库,最后再到服务器的上线部署运行等流程,如下图所示:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值