diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryWrapper.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryWrapper.java index b7caf77f..4f260851 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryWrapper.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryWrapper.java @@ -59,6 +59,27 @@ public class QueryWrapper extends BaseQueryWrapper { return tableInfo.buildQueryWrapper(entity, operators); } + /** + * 根据 Map 对象,构建查询条件 + * + * @param map Map 对象 + * @return 查询对象 QueryWrapper + */ + public static QueryWrapper create(Map map) { + return create().where(map); + } + + /** + * 根据 Map 构建查询条件 + * + * @param map Map 对象 + * @param operators 每个属性对应的操作符 + * @return 查询对象 QueryWrapper + */ + public static QueryWrapper create(Map map, SqlOperators operators) { + return create().where(map, operators); + } + @SuppressWarnings("unchecked") public WithBuilder with(String name) { @@ -1331,7 +1352,6 @@ public class QueryWrapper extends BaseQueryWrapper { } - /** * {@code IN(value)} * diff --git a/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/PlusCompatibleTest.java b/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/PlusCompatibleTest.java index c53ad5e5..1db77f88 100644 --- a/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/PlusCompatibleTest.java +++ b/mybatis-flex-core/src/test/java/com/mybatisflex/coretest/PlusCompatibleTest.java @@ -35,7 +35,7 @@ public class PlusCompatibleTest { .eq("column1", value1, If::hasText) .ge(Account::getAge, 18) .or(qw -> { - qw.like("column2", "value2"); + qw.likeLeft("column2", "value2"); }) .or(q1 -> { q1.eq("column3", "value3") @@ -44,7 +44,7 @@ public class PlusCompatibleTest { Assert.assertEquals("SELECT * FROM `user` " + "WHERE `tb_account`.`age` >= 18 " + - "OR (column2 LIKE '%value2%') " + + "OR (column2 LIKE 'value2%') " + "OR (column3 = 'value3' AND `tb_account`.`sex` >= 0)" , queryWrapper.toSQL());