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 】 EmojiUtil增加方法(pr#519@Gitee)
|
||||
* 【core 】 DateUtil 添加两个日期是否同一周方法(pr#516@Gitee)
|
||||
* 【db 】 新增条件组,用于处理复杂的where条件(pr#514@Gitee)
|
||||
|
||||
### 🐞Bug修复
|
||||
* 【core 】 修复ChineseDate农历获取正月出现数组越界BUG(issue#2112@Github)
|
||||
|
@@ -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("(");
|
||||
|
@@ -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());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user