
mybatis plus匹配纯数组与对象数组
对于数据库中存储的json数组,使用like匹配会出现精准度问题。本文介绍了如何使用mysql 5.7.8及其之后的版本的原生json数据类型支持,通过json_contains来实现精准匹配。
纯数组匹配
Easily find JSON paths within JSON objects using our intuitive Json Path Finder
30
string tipid = "1617784249885577217";
wrapper.and(new consumer<querywrapper<object>>() {
@override
public void accept(querywrapper<object> querywrapper) {
querywrapper.last("json_contains(goods_tips_id_list,'" + tipid + "')");
}
});对象数组匹配
由于前端传过来的数据是json字符串,直接使用json_contains无法实现对象数组的匹配。需要先将对象数组转换成json字符串,再进行匹配。
List<Long> tipIds = new ArrayList<>();
tipIds.add(1615226392250040321L);
tipIds.add(1617784249885577217L);
tipIds.add(1617784414117744641L);
String tipIdsJson = JSON.toJSONString(tipIds);
wrapper.and(new Consumer<QueryWrapper<Object>>() {
@Override
public void accept(QueryWrapper<Object> queryWrapper) {
queryWrapper.last("json_contains(goods_tips_id_list,'" + tipIdsJson + "')");
}
});以上就是MyBatis Plus 如何使用 JSON_CONTAINS 精准匹配数据库中的 JSON 数组?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号