MyBatisPlus又在搞事了!发布神器,一个依赖轻松搞定权限问题( 五 )


deptIds.add("3");
deptIds.add("5");
ItemsList itemsList = new ExpressionList(deptIds.stream().map(StringValue::new).collect(Collectors.toList()));
InExpression inExpression = new InExpression(new Column(dataColumn.getAliasDotName()), itemsList);
if (null == plainSelect.getWhere()) {
// 不存在 where 条件
plainSelect.setWhere(new Parenthesis(inExpression));
} else {
// 存在 where 条件 and 处理
plainSelect.setWhere(new AndExpression(plainSelect.getWhere(), inExpression));
}
} else if ("mobile".equals(dataColumn.getName())) {
// 支持一个自定义条件
LikeExpression likeExpression = new LikeExpression();
likeExpression.setLeftExpression(new Column(dataColumn.getAliasDotName()));
likeExpression.setRightExpression(new StringValue("%1533%"));
plainSelect.setWhere(new AndExpression(plainSelect.getWhere(), likeExpression));
}
}
}
}
};
}
 
最终执行 SQL 输出:
 
SELECT u.* FROM user u
WHERE (u.department_id IN ('1', '2', '3', '5'))
AND u.mobile LIKE '%1533%' LIMIT 1, 10
 
目前仅有付费版本 , 了解更多 mybatis-mate 使用示例详见:

https://gitee.com/baomidou/mybatis-mate-example
原文链接:
https://mp.weixin.qq.com/s/3Uim4i5YK4QWL4GHiNpjdA

【MyBatisPlus又在搞事了!发布神器,一个依赖轻松搞定权限问题】


推荐阅读