Condition condition = new Condition(Product.class);
Example.Criteria criteria = condition.createCriteria();
for (Map.Entry<String, Object> entry : params.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
if (StringUtils.isEmpty(value)) {
continue;
}
switch (key){
case "productCategoryIds":
criteria.andCondition("product_category_id in ("+value.toString()+")");
break;
default:
criteria.andEqualTo(key, params.get(key));
break;
}
}
//criteria.andCondition 中的sql语句应该使用表中的实际字段名,与实体类的属性不一样。
---------------------
版权声明:本文为优快云博主「万年精魄」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/qq_34638435/article/details/80689659
本文介绍了一种基于MyBatis框架的动态SQL条件查询实现方法。通过Condition和Example.Criteria对象,结合Map参数,实现了灵活的数据库查询逻辑。具体展示了如何根据传入的参数动态构建SQL语句,包括特殊字段如产品类别ID的处理。
2万+

被折叠的 条评论
为什么被折叠?



