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()(前缀模糊查询)等方法。

相关推荐
code2cat6 分钟前
【随笔】RAG语义缓存:问题很相似,答案就能直接复用吗
java·缓存·知识库·rag
Rain的Java大神之路28 分钟前
面了 50 个候选人,90% 都挂在 LeetCode 3 无重复字符的最长子串:滑动窗口的 5 个致命坑
java·后端·leetcode
西凉的悲伤29 分钟前
Jsoup 库 HTML 解析详解
java·前端·html·jsoup
十碗饭吃不饱41 分钟前
Apache POI 踩坑:setFontFamily 二次设置字体不生效、样式残留问题深度解析
java·word·apache
我命由我123451 小时前
6-2.Python 异常处理 - 异常捕获(捕获指定异常、常见异常类型、异常信息)
java·运维·开发语言·python·http·https·java-ee
zaizai10071 小时前
STL深度剖析2
java·c++·算法
周厉1 小时前
WebSocket 使用场景与实现方法:Java + Vue3 全栈实战
java·websocket·vue3·websocket双向通讯
wdfk_prog1 小时前
lwip教程 38:从 `lwipopts.h` 到 Port Contract——lwIP 裁剪、构建选择、OS Port 与 Network Port
java·开发语言
吹什么轩1 小时前
MySQL 内置函数全景:日期 / 字符串 / 数学 / 其他,一次讲透(附索引杀手排查)
java·数据库·面试
略略略咯咯1 小时前
12333
java