mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
add ConditionGroup
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
* 【extra 】 增加jetbrick模板支持
|
* 【extra 】 增加jetbrick模板支持
|
||||||
* 【extra 】 EmojiUtil增加方法(pr#519@Gitee)
|
* 【extra 】 EmojiUtil增加方法(pr#519@Gitee)
|
||||||
* 【core 】 DateUtil 添加两个日期是否同一周方法(pr#516@Gitee)
|
* 【core 】 DateUtil 添加两个日期是否同一周方法(pr#516@Gitee)
|
||||||
|
* 【db 】 新增条件组,用于处理复杂的where条件(pr#514@Gitee)
|
||||||
|
|
||||||
### 🐞Bug修复
|
### 🐞Bug修复
|
||||||
* 【core 】 修复ChineseDate农历获取正月出现数组越界BUG(issue#2112@Github)
|
* 【core 】 修复ChineseDate农历获取正月出现数组越界BUG(issue#2112@Github)
|
||||||
|
@@ -10,6 +10,7 @@ import java.util.List;
|
|||||||
* 用于构建复杂where条件
|
* 用于构建复杂where条件
|
||||||
*
|
*
|
||||||
* @author tjh
|
* @author tjh
|
||||||
|
* @since 5.7.21
|
||||||
*/
|
*/
|
||||||
public class ConditionGroup extends Condition {
|
public class ConditionGroup extends Condition {
|
||||||
/**
|
/**
|
||||||
@@ -38,7 +39,9 @@ public class ConditionGroup extends Condition{
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String toString(List<Object> paramValues) {
|
public String toString(List<Object> paramValues) {
|
||||||
if (ArrayUtil.isEmpty(conditions)) return StrUtil.EMPTY;
|
if (ArrayUtil.isEmpty(conditions)) {
|
||||||
|
return StrUtil.EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
final StringBuilder conditionStrBuilder = StrUtil.builder();
|
final StringBuilder conditionStrBuilder = StrUtil.builder();
|
||||||
conditionStrBuilder.append("(");
|
conditionStrBuilder.append("(");
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
package cn.hutool.db.sql;
|
package cn.hutool.db.sql;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.ListUtil;
|
||||||
|
import org.junit.Assert;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
public class ConditionGroupTest {
|
public class ConditionGroupTest {
|
||||||
@@ -20,7 +22,7 @@ public class ConditionGroupTest {
|
|||||||
|
|
||||||
final ConditionBuilder conditionBuilder = ConditionBuilder.of(cg2, condition4);
|
final ConditionBuilder conditionBuilder = ConditionBuilder.of(cg2, condition4);
|
||||||
|
|
||||||
System.out.println(conditionBuilder.build());
|
Assert.assertEquals("((a = ? OR b = ?) AND c = ?) AND d = ?", conditionBuilder.build());
|
||||||
System.out.println(conditionBuilder.getParamValues());
|
Assert.assertEquals(ListUtil.of("A", "B", "C", "D"), conditionBuilder.getParamValues());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user