java:mybatisplus查询功能演示,包括模糊查询

以下是修改后的代码实现模糊查询功能:

实体类(PhoneInfo)保持不变:

import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;

@Data

@TableName("phone_info")

public class PhoneInfo {

private String model;

private Integer groupId;

private String sn;

private String imei;

private String version;

}

Mapper 接口(继承 BaseMapper)保持不变:

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

import org.springframework.stereotype.Repository;

@Repository

public interface PhoneInfoMapper extends BaseMapper<PhoneInfo> {

}

服务类(PhoneInfoService)修改如下:

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;

import lombok.extern.slf4j.Slf4j;

import org.springframework.stereotype.Service;

import java.util.List;

@Service

@Slf4j

public class PhoneInfoService extends ServiceImpl<PhoneInfoMapper, PhoneInfo> {

public List<PhoneInfo> queryPhoneInfo(String model, List<Integer> groupIds, String sn, String imei, String version) {

QueryWrapper<PhoneInfo> queryWrapper = new QueryWrapper<>();

if (model!= null) {

queryWrapper.like("model", model);

}

if (groupIds!= null &&!groupIds.isEmpty()) {

queryWrapper.in("group_id", groupIds);

}

if (sn!= null) {

queryWrapper.like("sn", sn);

}

if (imei!= null) {

queryWrapper.like("imei", imei);

}

if (version!= null) {

queryWrapper.like("version", version);

}

return baseMapper.selectList(queryWrapper);

}

}

在上述代码中,使用queryWrapper.like()方法进行模糊查询。如果要进行更加复杂的模糊查询,可以使用queryWrapper.likeRight()(后缀模糊查询)或queryWrapper.likeLeft()(前缀模糊查询)等方法。

相关推荐
信码由缰25 分钟前
Java数据库应用原型
java
fantasy5_537 分钟前
手写一个C++字符串类:从底层理解String的实现
java·jvm·c++
起这个名字1 小时前
Langchain4j Rag 知识库教程
java·后端
Autism1141 小时前
javase-day22-stream
java·开发语言·windows·笔记
fouryears_234171 小时前
IDEA推送github,身份认证错误:Cannot assign requested address: getsockopt 解决方法
java·ide·intellij-idea
我命由我123451 小时前
Android PDF 操作 - AndroidPdfViewer 显示 PDF 异常清单(数据为 null、数据为空、PDF 文件损坏、非 PDF 文件)
android·java·java-ee·pdf·android studio·android-studio·android runtime
CodeCraft Studio1 小时前
【金融行业案例】基于Vaadin全栈Java框架重构内部系统,全面提升开发效率与用户体验
java·金融·重构·vaadin·银行内部系统·纯java开发框架·java web框架
潇I洒2 小时前
Linux写sh开机启动脚本-bash报错的两种解决方法
java·linux·bash
R.lin2 小时前
使用注解将日志存入Elasticsearch
java·大数据·后端·elasticsearch·中间件
滴滴滴嘟嘟嘟.2 小时前
全屏定时提醒工具
java·开发语言