Mysql已支持自动进行int与bigint类型的模糊查询

Mysql已支持自动进行int与bigint类型的模糊查询

原本,想要在Mysql中进行int与bigint类型的模糊查询,必须通过Mysql的cast函数将其转为字符串后再操作,如博客1所述

但经本人测试,Mysql5.7.25就已经支持自动进行int与bigint类型的模糊查询了,下述Sql代码可直接通过Sql测试:

SELECT id,category_id,status FROM dish WHERE (category_id LIKE "%1397844303408574465%" AND status LIKE "%1%")

这意味着什么不言而喻,以后写条件查询时,大多数场景可以直接用模糊查询替换所有包含条件,将极大的简化代码需要做的if-else判断

例如,一个多条件(未知数量与类型)查询的业务,我们仅需要一行模糊查询代码即可完成:

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
// 入参为:Map<String, Object> params
//1. 获取模糊查询字段
Object[] values = params.values().toArray();
Object[] keys = params.keySet().toArray();
QueryWrapper<Entity> entityQueryWrapper = new QueryWrapper<>();
for (int i = 0; i< values.length; i++){
	entityQueryWrapper.like(StrUtil.toUnderlineCase(key), (String) values[i]); 
	//模糊查询只支持字符串,这里可以直接写死强转类型(但该查询适合任何String或Number类型)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值