ServiceImpl

  • 请在注释中说明用途/作者/创建日期
  • ServiceImpl 需 extends MyBatis Plus中的 ServiceImpl,提供了常用的CRUD方法;具体可查看 ServiceImpl CRUD接口
  • list 方法中使用了条件构建器 QueryWrapper 提供了常用的过滤条件,具体可查看 QueryWrapper 条件构建器
  • 为防止遍历 id 漏洞,请在 delete 时验证数据权限
package com.frame.easy.modular.sample.service.impl;

import cn.hutool.core.lang.Validator;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.frame.easy.common.page.Page;
import com.frame.easy.modular.sample.dao.SampleGeneralMapper;
import com.frame.easy.modular.sample.model.SampleGeneral;
import com.frame.easy.modular.sample.service.SampleGeneralService;
import com.frame.easy.util.ToolUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.Arrays;
import java.util.List;

/**
 * 代码生成示例
 *
 * @author TengChong
 * @date 2019-04-09
 */
@Service
public class SampleGeneralServiceImpl extends ServiceImpl<SampleGeneralMapper, SampleGeneral> implements SampleGeneralService {

    @Autowired
    private SampleGeneralMapper mapper;

    /**
     * 列表
     *
     * @param object 查询条件
     * @return page
     */
    @Override
    public Page select(SampleGeneral object) {
        QueryWrapper<SampleGeneral> queryWrapper = new QueryWrapper<>();
        if (object != null) {
            // 查询条件
            // 姓名
            if (Validator.isNotEmpty(object.getName())) {
                queryWrapper.like("name", object.getName());
            }
            // 年龄
            if (Validator.isNotEmpty(object.getAge())) {
                queryWrapper.eq("age", object.getAge());
            }
        }
        return (Page) page(ToolUtil.getPage(object), queryWrapper);
    }

    /**
     * 详情
     *
     * @param id id
     * @return 详细信息
     */
    @Override
    public SampleGeneral input(String id) {
        ToolUtil.checkParams(id);
        return getById(id);
    }

    /**
     * 新增
     *
     * @return 默认值
     */
    @Override
    public SampleGeneral add() {
        SampleGeneral object = new SampleGeneral();
        // 设置默认值
        return object;
    }

    /**
     * 删除
     *
     * @param ids 数据ids
     * @return true/false
     */
    @Transactional(rollbackFor = RuntimeException.class)
    @Override
    public boolean delete(String ids) {
        ToolUtil.checkParams(ids);
        List<String> idList = Arrays.asList(ids.split(","));
        return removeByIds(idList);
    }

    /**
     * 保存
     *
     * @param object 表单内容
     * @return 保存后信息
     */
    @Transactional(rollbackFor = RuntimeException.class)
    @Override
    public SampleGeneral saveData(SampleGeneral object) {
        ToolUtil.checkParams(object);
        if (StrUtil.isBlank(object.getId())) {
            // 新增,设置默认值
            object.setStatus("1");
        }
        return (SampleGeneral) ToolUtil.checkResult(saveOrUpdate(object), object);
    }
}
  • 为防止遍历 id 漏洞,请在 delete 时验证数据权限
  • QueryWrapper 设置的key为数据库中字段名,非实体类中属性名