实现效果
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 ?,?