FIND_IN_SET 函数是 IN 函数的升级版,功能类似。区别在于:如果是常量,则可以直接用 IN, 否则要用 FIND_IN_SET() 函数default List<DeptDO> selectChildrenDeptByParentId(Long parentId) { return selectList(new LambdaQueryWrapperX<DeptDO>() .eq(DeptDO::getStatus, 0) .apply( parentId != null,"...
mybatis-plus中使⽤FIND_IN_SET函数 使⽤场景 查询⽂章的⽅法中有⼀个需求是根据Tag查询,tag标签在数据库中存储的是⼀个字符串数组,现在前端传⼊⼀个字符串数组或者⼀个字符串,判断数据库中存储的数组是否包含这个数组中的元素,之前⽤的是like⽅法判断,但是如果两个标签很像的话就会查到...
xxxQueryWrapper.eq("is_deleted","0").apply(deptUser.getDeptId() !=null,"dept_id = '"+deptUser.getDeptId()+"' or FIND_IN_SET ( dept_id , '"+deptUser.getDeptId()+"' )");
.eq("is_deleted","0").apply(deptUser.getDeptId()!=null,"dept_id = '"+deptUser.getDeptId()+"' or FIND_IN_SET ( dept_id , '"+deptUser.getDeptId()+"' )"); 1.
mybatis plus QuerManager使用 FIND_IN_SET 前言: 新项目要做一个根据用户数据权限查询用户列表接口,查询逗号分割的数据用like查询会导致数据不准确,然后公司用的是mybatis-plus 我把解决问题过程中的一个坑记录一下,防止大家入坑。 问题解析: 说白了就是 一个字段里面的数据是用(,)逗号隔开的,比如:A100,A1001...
apply(branchCode != null,"FIND_IN_SET ('"+branchCode+"',data)");` * 1 * 2 然后就万事大吉,一路高歌没bug 结论: 大家以后有需要 查询符号分割的数据结构时候,用 like 会查询到多余数据,大家可以使用FIND_IN_SET 函数,切记一定要加冒号,我把正确的代码写在下面,大家可以自行copy 正确的代码: `...
mybatis-plus中使用FIND_IN_SET函数 使用场景 查询文章的方法中有一个需求是根据Tag查询,tag标签在数据库中存储的是一个字符串数组,现在前端传入一个字符串数组或者一个字符串,判断数据库中存储的数组是否包含这个数组中的元素,之前用的是like方法判断,但是如果两个标签很像的话就会查到错误的数据。
mybatis-plus中使用FIND_IN_SET函数 使用场景 查询文章的方法中有一个需求是根据Tag查询,tag标签在数据库中存储的是一个字符串数组,现在前端传入一个字符串数组或者一个字符串,判断数据库中存储的数组是否包含这个数组中的元素,之前用的是like方法判断,但是如果两个标签很像的话就会查到错误的数据。
mybatis-plus中使用FIND_IN_SET函数 使用场景 查询文章的方法中有一个需求是根据Tag查询,tag标签在数据库中存储的是一个字符串数组,现在前端传入一个字符串数组或者一个字符串,判断数据库中存储的数组是否包含这个数组中的元素,之前用的是like方法判断,但是如果两个标签很像的话就会查到错误的数据。