add ConditionGroup

This commit is contained in:
Looly
2022-01-25 11:12:41 +08:00
parent 24f79fba4a
commit 48e0e99bb6
3 changed files with 11 additions and 5 deletions

View File

@@ -8,6 +8,7 @@
* 【extra 】 增加jetbrick模板支持
* 【extra 】 EmojiUtil增加方法pr#519@Gitee
* 【core 】 DateUtil 添加两个日期是否同一周方法pr#516@Gitee
* 【db 】 新增条件组用于处理复杂的where条件pr#514@Gitee
### 🐞Bug修复
* 【core 】 修复ChineseDate农历获取正月出现数组越界BUGissue#2112@Github

View File

@@ -10,8 +10,9 @@ import java.util.List;
* 用于构建复杂where条件
*
* @author tjh
* @since 5.7.21
*/
public class ConditionGroup extends Condition{
public class ConditionGroup extends Condition {
/**
* 条件列表
*/
@@ -23,7 +24,7 @@ public class ConditionGroup extends Condition{
* @param conditions 条件列表
*/
public void addConditions(Condition... conditions) {
if(null == this.conditions) {
if (null == this.conditions) {
this.conditions = conditions;
} else {
this.conditions = ArrayUtil.addAll(this.conditions, conditions);
@@ -38,7 +39,9 @@ public class ConditionGroup extends Condition{
*/
@Override
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();
conditionStrBuilder.append("(");

View File

@@ -1,5 +1,7 @@
package cn.hutool.db.sql;
import cn.hutool.core.collection.ListUtil;
import org.junit.Assert;
import org.junit.Test;
public class ConditionGroupTest {
@@ -20,7 +22,7 @@ public class ConditionGroupTest {
final ConditionBuilder conditionBuilder = ConditionBuilder.of(cg2, condition4);
System.out.println(conditionBuilder.build());
System.out.println(conditionBuilder.getParamValues());
Assert.assertEquals("((a = ? OR b = ?) AND c = ?) AND d = ?", conditionBuilder.build());
Assert.assertEquals(ListUtil.of("A", "B", "C", "D"), conditionBuilder.getParamValues());
}
}