SpringBoot——MybatisPlus条件查询

SpringBoot——MybatisPlus条件查询SpringBoot——MybatisPlus条件查询

大家好,又见面了,我是你们的朋友全栈君。

1.实体类

 package com.youyou.address.entity;


import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;


/**
 * 数据库实体,联系人
 */
@Data
@TableName("TS_Contacter")
public class ContacterDO {
    /**
     * 主键
     */
    private String id;
    /**
     * 姓名
     */
    private String name;

    /**
     * 性别(0,女;1,男)
     */
    private String sex;

    /**
     * 年龄
     */
    private Integer age ;

    /**
     * 电话
     */
    private  String phone;

    /**
     * 地址
     */
    private String location;

    /**
     * 删除(0,未删除;1,删除)
     */
    private String dflag ;
}

2.dao

 package com.youyou.address.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.youyou.address.entity.ContacterDO;
import org.springframework.stereotype.Repository;

/**
 * 联系人dao
 *
 * @author 刘朋
 * <br/>date 2018-11-02
 */
@Repository
public interface ContacterDao extends BaseMapper<ContacterDO> {
}

3.service层代码

需要通过条件查询传入一个参数queryWrapper

 /**
     * 根据 entity 条件,查询全部记录
     * @return
     */
    public List<ContacterDO> selectList(QueryWrapper<ContacterDO> queryWrapper) {
        return dao.selectList(queryWrapper);
    }

4.controller层代码

     @ApiOperation(value = "条件查询所有")
    @GetMapping("/findAll")
    public List<ContacterDO> findAll(ContacterDO contacterDO) {
        QueryWrapper<ContacterDO> queryWrapper = new QueryWrapper<>(contacterDO) ;
        return service.selectList(queryWrapper);
    }

关键就是controller的代码,需要将整个DO对象传入到条件参数类中,MybatisPlus会根据对应的属性进行查询,如果属性值为空则不查询此字段。

MybatisPlus的条件查询就是这么简单,也可以和分页查询同时使用,使用selectPage方法

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106460.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IDEA汉化版踩坑

    IDEA汉化版踩坑IDEA汉化版踩坑之前下的汉化版踩了一些坑,最后还是用回了英文版……①无法在项目中打开setting首先确保IntellijIDEA关闭,然后打开IDEA安装位置的文件夹,将lib文件夹下的resources_cn.jar文件用压缩软件打开、将其messages文件夹内的①IdeBundle.properties(系统设置(setting)外观选项加载不出来)②VcsBundle….

    2022年5月25日
    46
  • opencv 视频实时处理_opencv 控制摄像头

    opencv 视频实时处理_opencv 控制摄像头最近研究了通过OpenCV采集摄像头数据,并同时将视频流数据推送到RTSP和RTMP。RTSP服务采用开源的LIVE555(需要自己修改和实现部分代码)。RTMP服务采用开源CRtmpServer。

    2022年10月21日
    0
  • labview示波器波形采集_labview制作简易示波器教程

    labview示波器波形采集_labview制作简易示波器教程前些日子,需要保存示波器图像,可惜身边没有U盘,于是在电脑上安装了keysightBenchVue,可惜不是免费的,只能用一个月;电脑上装有Labview软件,何不自己写一个呢?下载了keysight相关示波器的编程手册,写好命令序列,可是每次打开传过来的png截屏文件,都有问题,图片软件总是显示打不开。查找了NI论坛,终于找到了问题所在,原来是截图中的一个字符需要替换。截图命令如下…

    2022年10月12日
    3
  • C++如何做字符串分割(5种方法)

    C++如何做字符串分割(5种方法)1、用strtok函数进行字符串分割原型:char*strtok(char*str,constchar*delim);功能:分解字符串为一组字符串。参数说明:str为要分解的字符串,delim为分隔符字符串。返回值:从str开头开始的一个个被分割的串。当没有被分割的串时则返回NULL。其它:strtok函数线程不安全,可以使用strtok_r替代。示例://借助strtok实现split#include<string.h>#include<stdio.h&

    2022年4月29日
    642
  • recvfrom设置超时

    recvfrom设置超时structtimevaltv;intret;tv.tv_sec=10;tv.tv_usec=0;if(setsockopt(s,SOL_SOCKET,SO_RCVTIMEO,&tv,sizeof(tv))<0){ printf("socketoptionSO_RCVTIMEOnotsupport\n"); return;}if((ret

    2022年7月23日
    14
  • 公司这套架构统一处理 try…catch 这么香,求求你不要再满屏写了,再发现扣绩效!

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:小李子说程序 www.toutiao.com/i6878184496945070604 前言 软件开发spri…

    2021年6月28日
    105

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号