简单数据封装

简单数据封装

1.介绍

1.1数据封装的基本原则包括:

  1. 将数据和操作封装在一个类中:将相关的数据和操作封装在一个类中,形成一个独立的实体。这样可以提高代码的可维护性和可复用性。
  2. 使用访问修饰符控制访问权限:通过使用访问修饰符(如public、private、protected)来控制对数据的访问权限。一般来说,应该将数据设置为私有(private),只允许通过类的公共接口进行访问和操作。
  3. 提供公共接口:通过定义公共方法来提供对数据的访问和操作。这样可以控制对数据的访问方式,避免直接操作数据,从而保证数据的一致性和安全性。
  4. 封装数据的具体实现细节:封装数据的具体实现细节,使外部代码无法直接访问和修改数据的内部表示方式。这样可以提高代码的灵活性和可扩展性。

1.2数据封装的好处包括:

  1. 提高代码的可维护性和可复用性:通过将数据和操作封装在一起,可以提高代码的可维护性和可复用性。当需要修改数据的实现方式时,只需要修改类的内部实现,而不需要修改外部代码。
  2. 提高代码的安全性:通过将数据设置为私有(private),只允许通过类的公共接口进行访问和操作,可以提高代码的安全性。外部代码无法直接访问和修改数据,只能通过类的公共接口进行操作。
  3. 隐藏数据的具体实现细节:通过封装数据的具体实现细节,可以隐藏数据的具体实现方式,使外部代码无法直接访问和修改数据的内部表示方式。这样可以提高代码的灵活性和可扩展性。

2.创建一个Result类用于封装返回数据


import lombok.Data;

@Data
public class Result {
    private int code;//编码 200/400
    private String msg;//成功/失败
    private Long total;//总记录数
    private Object data;//数据

    public static Result result(int code,String msg, Long total, Object data){
        Result res = new Result();
        res.setCode(code);
        res.setMsg(msg);
        res.setTotal(total);
        res.setData(data);
        return res;
    }


    public static Result fail(){
        return result(400,"失败",0L,null);
    }

    public static Result suc(){
        return result(200,"成功",0L,null);
    }
    public static Result suc(Object data){
        return result(200,"成功",0L,data);
    }
    public static Result suc(Object data,Long total){
        return result(200,"成功",total,data);
    }


}

3.对封装类的使用


import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cqgcxy.common.Result;
import com.cqgcxy.pojo.PageParam;
import com.cqgcxy.pojo.User;
import com.cqgcxy.service.UserService;
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;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author Jocker
 * @since 2023-12-04
 */
@RestController
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserService userService;


    /**
     * 分页模糊查询
     * @param query
     * @return
     */
    @PostMapping("ResultlistPage")
    public Result ResultlistPage(@RequestBody PageParam query){
        HashMap param = query.getParam();
        String name= (String)param.get("username");


        Page<User> page = new Page();
        page.setCurrent(query.getPageNum());
        page.setSize(query.getPageSize());

        LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper();
        lambdaQueryWrapper.like(User::getUsername,name);

        IPage result = userService.page(page,lambdaQueryWrapper);

        return Result.suc(result.getRecords(),result.getTotal());
    }

       //其他方法


}


4.使用PostMan软件进行测试

在这里插入图片描述

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值