欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot学习笔记13——MybatisPlus条件查询

程序员文章站 2024-03-06 21:25:26
...

让我们接上一篇博客继续学习,上一篇博客讲了分页查询,但是并没有讲条件查询,这篇博客讲的是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://blog.csdn.net/lp840312696/article/details/83716059