Mybatis-plus实现单个搜索框实现查询多个字段,查询出符合的全部内容。

实现效果

1. 展示全部数据,根据货品货号、和药品名称、助记码(效果不展示,代码展示)进行模糊查询
在这里插入图片描述
2. 根据药品名称查询----->输入白砂糖,查询出白砂糖6、白砂糖7
在这里插入图片描述
3. 根据药品货号查询----->输入1536,查询出薄荷脑15362
在这里插入图片描述

实现方法

1. Mybatis-Plus在查询的时候,使用lambdaQuery表达式查询

medicineType(药品类型)和clinicId(诊所id)是必查。medicineCode(助记码)、goodsName(药品名称)、goodsId(货品号)都是模糊查询,符合一个就可以查询。

@GetMapping("/page")
public Result list(Page page,MedicineInfo medicineInfo){
        return Result.ok(medicineInfoService.page(page,Wrappers.<MedicineInfo>lambdaQuery()
                .eq(MedicineInfo::getMedicineType,medicineInfo.getMedicineType())
                .eq(MedicineInfo::getClinicId,medicineInfo.getClinicId())
                .and(wrapper -> wrapper.like(MedicineInfo::getMedicineCode,medicineInfo.getSearchName())
                        .or()
                        .like(MedicineInfo::getGoodsName, medicineInfo.getSearchName())
                        .or()
                        .like(MedicineInfo::getGoodsId,medicineInfo.getSearchName()))
                )
        );
    }

2. 使用标签手写SQL语句进行查询
根据日志打印的SQL,可以获取到标签内容


SELECT id,goods_id,goods_name,medicine_type,factory,medicine_code,status,clinic_id,stock FROM medicine_info WHERE (medicine_type = ? AND clinic_id = ? AND (medicine_code LIKE ? OR goods_name LIKE ? OR goods_id LIKE ?)) LIMIT ?,?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XuDream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值