美文网首页
mybatis-plus,CRUD操作通过IService和Wr

mybatis-plus,CRUD操作通过IService和Wr

作者: Raral | 来源:发表于2021-06-28 13:58 被阅读0次
package com.ruoyi.system.service.impl;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import com.github.pagehelper.Page;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.id.IDGeneratorUtils;
import com.ruoyi.system.bo.AppDiseaseAddBo;
import com.ruoyi.system.bo.AppDiseaseEditBo;
import com.ruoyi.system.bo.AppDiseaseQueryBo;
import com.ruoyi.system.domain.AppDisease;
import com.ruoyi.system.mapper.MybatispulsMapper;
import com.ruoyi.system.service.IMybatisplustService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.sql.Wrapper;
import java.util.Collection;
import java.util.List;

/**
 * @description:
 * @author: li
 */
@Service
public class MybatisplustServiceImpl extends ServiceImpl<MybatispulsMapper,AppDisease> implements IMybatisplustService {

    @Autowired
    MybatispulsMapper mybatispulsMapper;

    //
    @Override
    public List<AppDisease> queryList(AppDiseaseQueryBo bo) {
        QueryWrapper<AppDisease> qw = new QueryWrapper<>();
        qw.eq(StringUtils.isNotNull(bo.getType()),"type", bo.getType());
        IPage<AppDisease> page = new Page<>(bo.getPageNum(),bo.getPageSize());
        IPage<AppDisease> obj = this.page(page, qw);
        long total = obj.getTotal();
        List<AppDisease> records = obj.getRecords();
        return records;
    }
    //标准查询使用IService
    @Override
    public List<AppDisease> queryList2(AppDiseaseQueryBo bo) {
        LambdaQueryWrapper<AppDisease> lq = Wrappers.lambdaQuery();

        lq.eq(StringUtils.isNotNull(bo.getType()), AppDisease::getType, bo.getType());
        lq.orderByDesc(StringUtils.isNotNull(bo.getType()), AppDisease::getCreateTime);
        IPage<AppDisease> page = new Page<>(bo.getPageNum(),bo.getPageSize());
        IPage<AppDisease> obj = this.page(page, lq);
        long total = obj.getTotal();
        List<AppDisease> records = obj.getRecords();


        return records;
    }
    //聚合 必须使用BaseMapper
    @Override
    public List<AppDisease> queryList3(AppDiseaseQueryBo bo) {
        QueryWrapper<AppDisease> qw = new QueryWrapper<>();
        qw.eq(StringUtils.isNotNull(bo.getType()), "type", bo.getType());
        qw.select("count(*) as totalAcount");
        List<AppDisease> appDiseases = this.list(qw);
        return appDiseases;
    }


    //修改实体类内容 根据id,修改实体类的任意属性
    //    public List<>
    @Override
    public Boolean updateAppDiseaseById(AppDiseaseEditBo bo) {
        AppDisease appDisease = BeanUtil.toBean(bo, AppDisease.class);
        return this.updateById(appDisease);
    }
    // 根据非主键id(另一个唯一标识),修改实体类任意属性,适合更新多个属性字段
    @Override
    public Boolean updateAppDiseaseById2(AppDiseaseEditBo bo) {
        UpdateWrapper<AppDisease> uw = new UpdateWrapper<>();
        uw.eq("type", bo.getType());
        AppDisease appDisease = new AppDisease();
        appDisease.setName(bo.getName());
        return this.update(appDisease, uw);
//        return this.updateById(appDisease);
    }
    // 根据非主键id(另一个唯一标识),修改实体类一个属性,适合更新单个属性字段
    @Override
    public Boolean updateAppDiseaseById3(AppDiseaseEditBo bo) {

        UpdateWrapper<AppDisease> uw = new UpdateWrapper<>();
        uw.eq("type", bo.getType()).set("name", bo.getName());
        boolean update = this.update(uw);
        return update;

    }


    //添加
    @Override
    public Boolean addAppDisease(AppDiseaseAddBo bo) {
        bo.setId(IDGeneratorUtils.getLongId());
        AppDisease appDisease = BeanUtil.toBean(bo, AppDisease.class);
        return this.save(appDisease);
    }

    //删除
//    public Boolean addAppDisease(AppDiseaseAddBo bo) {
//        bo.setId(IDGeneratorUtils.getLongId());
//        AppDisease appDisease = BeanUtil.toBean(bo, AppDisease.class);
//        return this.save(appDisease);
//    }



}

相关文章

网友评论

      本文标题:mybatis-plus,CRUD操作通过IService和Wr

      本文链接:https://www.haomeiwen.com/subject/nxuqultx.html