首页 > 其他分享 >洪君:mybatis plus012:增删改查 洪君

洪君:mybatis plus012:增删改查 洪君

时间:2023-04-21 17:00:59浏览次数:82  
标签:BaU develop 洪君 objList 改查 import mybatis return id


plus的pom依赖:替代原mybatis

<!--mybatis plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>2.1.9</version>
        </dependency>
 
        <!-- mybatis plus start -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatisplus-spring-boot-starter</artifactId>
            <version>1.0.5</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.tomcat</groupId>
                    <artifactId>tomcat-jdbc</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

Controller层:

package com.cn.controller;

import com.cn.utils.BaU;
import com.cn.utils.Q;
import com.cn.utils.Rat;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * Created by Administrator on 2019/11/10 0010.
 */
@Slf4j
@RestController
@RequestMapping("/development")
public class ExampleController {

}

对象层

package com.cn.model.obj;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import lombok.Data;

import java.io.Serializable;

/**
 * Created by Administrator on 2019/11/10 0010.
 */
@Data
@TableName("gs_develop")
public class Example extends Model<Example> {

    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Integer id;

    /**
     * 1、有效    -1、无效
     */
    private Integer status;

    @TableField("create_id")
    private Integer createId;
    @TableField("create_time")
    private String createTime;
    @TableField("modify_id")
    private Integer modifyId;
    @TableField("modify_time")
    private String modifyTime;

    //审核 1=通过  2=驳回  3=待审核
    @TableField(exist = false)
    private Integer checks;

    //    驳回理由
    @TableField(exist = false)
    private String reject;

    private static final long serialVersionUID = 1L;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }


}

 

Mapper层:

package com.cn.mapper.fmapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by Administrator on 2019/11/10 0010.
 */
@Mapper
public interface ExampleMapper extends BaseMapper<Example> {

    List<ExamplePo> getListPage(Page page, @Param("s") ExamplePo examplePo);
}

xml:

<?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.cn.mapper.ExampleMapper">

    <select id="getListPage" parameterType="com.cn.model.pojo.ExamplePo"
            resultType="com.cn.model.pojo.ExamplePo">
        SELECT
        s.id AS bid,
        s.*
        FROM gs_develop s
        WHERE 1=1
        AND s.`status`=1
        GROUP BY s.id
    </select>
 
</mapper>

 

Service层:

package com.cn.fservice;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;

/**
 * Created by Administrator on 2019/11/10 0010.
 */
public interface ExampleService extends IService<Example> {

    Page getListPage(Page query, ExamplePo examplePo);
}

IMpl:

package com.cn.service.impl;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * Created by Administrator on 2019/11/10 0010.
 */
@Service
public class ExampleServiceImpl extends ServiceImpl<ExampleMapper, Example> implements ExampleService {

    @Autowired
    private ExampleMapper exampleMapper;

    @Override
    public Page getListPage(Page query, ExamplePo examplePo) {


        return query.setRecords(exampleMapper.getListPage(query, examplePo));
    }

}

 

操作方法:

/**
     * 分页
     *
     * @param develop
     * @return
     */
    @DeleteMapping
    public Q page(@RequestBody ExamplePo develop, Q q) {
        if (BaU.full(develop) && BaU.full(develop.getQ())) {

            return q.r(exampleService.getListPage(BaU.qs(develop.getQ()), develop));

        }

        return q.f();
    }

    /**
     * 增加
     *
     * @param develop
     * @return
     */
    @PostMapping
    public Q post(@RequestBody ExamplePo develop, Q q) {
        if (BaU.full(develop)) {

            develop.setStatus(Rat.NORMAL_STATUS);
            develop.setCreateId(infController.getStaff());
            develop.setCreateTime(BaU.formatTime());
            develop.setChecks(Rat.sh_z_id);
            exampleService.insert(develop);

            return q.r();
        }
        return q.f();
    }

    /**
     * 修改
     *
     * @param develop
     * @return
     */
    @PutMapping
    public Q put(@RequestBody ExamplePo develop, Q q) {
        if (BaU.full(develop)) {

            develop.setStatus(Rat.NORMAL_STATUS);
            develop.setModifyTime(BaU.formatTime());
            develop.setModifyId(infController.getStaff());
            develop.setChecks(Rat.sh_z_id);
            exampleService.updateById(develop);

            return q.r();
        }
        return q.f();
    }


    /**
     * 获取一个
     *
     * @param id ID
     * @return success/fail
     */
    @GetMapping("/{id}")
    public Q get(@PathVariable Integer id) {
        if (BaU.full(id)) {

            return Q.rq(exampleService.selectById(id));
        }
        return Q.fq();
    }

    /**
     * 删除一个
     *
     * @param id
     * @return
     */
    @DeleteMapping("/{id}")
    public Q deleteNoticeById(@PathVariable Integer id) {
        if (BaU.full(id)) {
            Example develop = new Example();
            develop.setId(id);
            develop.setStatus(Rat.DEL_STATUS);
            develop.setModifyId(infController.getStaff());
            develop.setModifyTime(BaU.formatTime());
            develop.setChecks(Rat.sh_bh_id);
            exampleService.updateById(develop);

            return Q.rq();
        }
        return Q.fq();
    }


    /**
     * 审核
     *
     * @param notice
     * @return
     */
    @PutMapping("/Q")
    public Q checkNoticePage(@RequestBody ExamplePo notice, Q q) {
        if (notice != null && notice.getId() != null && notice.getChecks() != null) {
            Example develop = new Example();
            develop.setId(notice.getId());
            if (Rat.sh_tg_id.equals(notice.getChecks())) {//通过
                develop.setChecks(Rat.sh_tg_id);
            } else {//驳回
                develop.setChecks(Rat.sh_bh_id);
            }
            develop.setStatus(Rat.NORMAL_STATUS);
            develop.setModifyId(infController.getStaff());
            develop.setModifyTime(BaU.formatTime());
            exampleService.updateById(develop);

            return q.r();
        }
        return q.f();
    }

 

批量新增方法:

/**
     * 新增 批量
     *
     * @param objList
     * @return
     */
    @PostMapping
    public R post(@RequestBody List<Obj> objList) {
        if (BaU.full(objList)) {
            Integer sta = Rat.NORMAL_STATUS;
            Integer staff = Rat.getStaff;

            for (Obj obj: objList) {


                if (obj!= null) {

                    obj.setStatus(sta);
                    obj.setCreateId(staff);
                    obj.setCreateTime(BaU.formatTime());

// 加入时间戳
                    obj.setModifyTime(BaU.currentRan());
                   

                }
            }
            if (BaU.full(objList)) {
                specialtyService.insertBatch(objList);
            }
            return new R(true, Rat.Result_ok);
        }
        return new R(false, Rat.Params_err + "[ ]");
    }

批量修改:

/**
     * 批量 修改
     *
     * @param objList
     * @return
     */
    @PutMapping
    public Q put(@RequestBody List<Obj> objList) {
        if (BaU.full(objList)) {
            Integer sta = Rat.NORMAL_STATUS;
            Integer staff = Rat.getStaff;

            for (Obj obj: objList) {


                if (obj!= null) {

                    obj.setStatus(sta);
                    obj.setModifyId(staff);
                    obj.setModifyTime(BaU.formatTime());

                    // 加入时间戳
                    obj.setModifyTime(BaU.currentRan());


                }
            }
            if (BaU.full(objList)) {
                specialtyService.updateBatchById(objList);
            }
            return Q.rq();
        }
        return Q.fq();
    }

批量删除:

/**
     * 批量 删除
     *
     * @param objList
     * @return
     */
    @DeleteMapping
    public Q put(@RequestBody List<Integer> objList) {
        if (BaU.full(objList)) {
            Integer sta = Rat.NORMAL_STATUS;

             
            if (BaU.full(objList)) {
                specialtyService.deleteBatchIds(objList);
            }
            return Q.rq();
        }
        return Q.fq();
    }

批量查询:

/**
     * 批量 查询
     *
     * @param objList
     * @return
     */
    @PutMapping("/page")
    public Q put(@RequestBody Page objList) {
        if (BaU.full(objList)) {
            Integer sta = Rat.NORMAL_STATUS;


            if (BaU.full(objList)) {
              return   specialtyService.selectBatchIds(objList.getRecords());
//                specialtyService.selectPage(objList);
            }
            return Q.rq();
        }
        return Q.fq();
    }

 

复杂查询:

/**
     * 查询
     *
     * @param obj
     * @return
     */
    @GetMapping("/byId")
    public Q put(@RequestParam Page obj) {
        if (BaU.full(obj)) {
            Integer sta = Rat.NORMAL_STATUS;


            if (BaU.full(obj)) {
                
                //查询出某个对象 
                Specialty so = new Specialty();
                so.setId(Rat.int_first);
                Specialty sos= specialtyService.selectOne(new EntityWrapper<>(so));
                
// 查询出 统计出符合某条件的对象数量
                Specialty sc = new Specialty();
                sc.setCreateId(Rat.sh_bh_id);
                Integer scs= specialtyService.selectCount(new EntityWrapper<>(sc));
                
// 查询群体list 
                Specialty s = new Specialty();
                s.setStatus(obj.getCurrent());
                s.setCreateTime(sos.getModifyTime());
                EntityWrapper<Specialty> ss = new EntityWrapper<>(s);
                ss.in("id", obj.getRecords());
                return Q.rq(specialtyService.selectList(ss).get(scs));
            }
            return Q.rq();
        }
        return Q.fq();
    }

 mybatis plus 兼容mybatis ,可以写sql,可以调用内置方法,自动生成sql

内置增删改查接口都有基本注释,看了就知道如何使用。

标签:BaU,develop,洪君,objList,改查,import,mybatis,return,id
From: https://blog.51cto.com/u_16082902/6213683

相关文章

  • C#写一套最全的SQL server帮助类(包括增删改查)
    我定义了一系列静态方法,用于执行SQLServer数据库的增删改查等操作。其中:ExecuteNonQuery方法用于执行指定的SQL语句并返回受影响的行数;ExecuteScalar方法用于执行指定的SQL语句并返回查询结果的第一行第一列;ExecuteDataTable方法用于执行指定的SQL语句并返回一个数据表;ExecuteRea......
  • C#写一套最全的MySQL帮助类(包括增删改查)
    介绍说明:这个帮助类包含了六个主要的方法:ExecuteNonQuery、ExecuteScalar、ExecuteQuery、ExecuteQuery(泛型)、Insert、Update和Delete。其中,ExecuteNonQuery用于执行不返回结果集的SQL语句;ExecuteScalar用于执行一个查询,并返回结果集中第一行的第一列;ExecuteQuery用于执行一个查询......
  • 针对一套增删改查涉及到流程的解决方案(干货)
    1.第一步流程节点要确保是活的,可以在数据库里面的配置字典表里面去写记录,到时候查这张表的对应的是哪个节点即可,如果没有配置字典表的话,也可以去建一个流程节点表这样的好处是方便以后的扩展性,可以随时增加新的流程节点,以及流程。可以采用-去拼接例:1-2-3-4-5代表这个流程完整走......
  • mybatis 调用 oracle 带包存储过程(有out参数)
    https://blog.csdn.net/u010925982/article/details/102958001  1.先写xml映射文件<selectid="call"parameterType="java.util.HashMap"statementType="CALLABLE"resultType="java.util.HashMap"><!--call包名.方法名(参数)-......
  • Junit启动测试mybatis xml文件BindingException: Invalid bound statement问题
    背景:1、正常启动,xml文件放在java目录和resource目录下均正常2、junit启动,xml文件放在resource目录下正常,放在java目录下报BindingException错误mapperlocation绑定地址为:"classpath:com/a/b/**/*.xml" 原因就在于绑定的地址有问题。 junit生成的test-classes下的测......
  • Mybatis Plus传入参数0不起作用
    错误还原:在查询的过程中,传入的workType为0时,该条件不起作用<selectid="xxx">SELECTdi.id,di.name,di.work_type,di.updated...<where><iftest="name!=nullandname!=''">andd......
  • SQL增删改查
    SQL语句SQL 是结构化查询语言,专门用来访问和处理数据库的编程语言。能够以编程的形式操作数据库里的数据。SQL 是一门数据库编程语言使用SQL 语言编写出来的代码叫做 SQL 语句SQL 语言只能在关系型数据库(MySQL)中使用。非关系型数据库(MongoDB)中不能使用SQL 可以对数......
  • java 增删改查接口命名规范(service与mapper)
    阿里推荐命名规范:转载自:https://www.cnblogs.com/zengzy698/p/15939088.html......
  • MyBatis排序时施用orderby动态参数时需要注意,用$而不是#
    评:mybatis排序时使用orderby动态参数时需要注意,用$而不是#默认情况下,使用#{}格式的语法会导致mybatis创建预处理语句属性并以它为背景设置安全的值(比如?)。这样做很安全,很迅速也是首选做法,有时你只是想直接在sql语句中插入一个不改变的字符串。比如,像orderby,你可以这样来使用......
  • 记录一下因mybatis-plus版本不一致导致的实体主键id未赋值,新增失败问题
    记录一下因mybatis-plus版本不一致导致的实体主键id未赋值,新增失败问题mybatis-plus中对于id的赋值在packagecom.baomidou.mybatisplus.core;publicclassMybatisParameterHandlerimplementsParameterHandler{}中实现1)3.4.1版本中的实现如下,处理IdType.ASSIGN_ID和Id......