mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 00:58:24 +08:00
test: 添加更多 hasCondition 测试。
This commit is contained in:
parent
67981ec73b
commit
1340e3b8c6
@ -100,16 +100,8 @@ public class QueryWrapper extends BaseQueryWrapper<QueryWrapper> {
|
|||||||
* @return {@code true} 包含条件,{@code false} 不包含条件。
|
* @return {@code true} 包含条件,{@code false} 不包含条件。
|
||||||
*/
|
*/
|
||||||
public boolean hasCondition() {
|
public boolean hasCondition() {
|
||||||
// 无任何条件
|
QueryCondition c;
|
||||||
if (whereQueryCondition == null) {
|
return (c = whereQueryCondition) != null && (c.checkEffective() || c.getNextEffectiveCondition() != null);
|
||||||
return false;
|
|
||||||
}
|
|
||||||
// 第一个条件有效
|
|
||||||
if (whereQueryCondition.checkEffective()) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
// 第一个条件无效时,查询之后是否有生效的条件
|
|
||||||
return whereQueryCondition.getNextEffectiveCondition() != null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
|||||||
@ -319,24 +319,39 @@ public class DynamicConditionTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testHasCondition() {
|
public void testHasCondition() {
|
||||||
QueryWrapper q1 = QueryWrapper.create();
|
QueryWrapper queryWrapper = QueryWrapper.create();
|
||||||
QueryWrapper q2 = QueryWrapper.create()
|
assertFalse(queryWrapper.hasCondition());
|
||||||
|
|
||||||
|
queryWrapper = QueryWrapper.create()
|
||||||
.where(ACCOUNT.ID.eq(1));
|
.where(ACCOUNT.ID.eq(1));
|
||||||
QueryWrapper q3 = QueryWrapper.create()
|
assertTrue(queryWrapper.hasCondition());
|
||||||
|
|
||||||
|
queryWrapper = QueryWrapper.create()
|
||||||
|
.where(ACCOUNT.ID.eq(1).and(ACCOUNT.AGE.eq(18)));
|
||||||
|
assertTrue(queryWrapper.hasCondition());
|
||||||
|
|
||||||
|
queryWrapper = QueryWrapper.create()
|
||||||
|
.where(ACCOUNT.ID.eq(1, false).and(ACCOUNT.AGE.eq(18)));
|
||||||
|
assertTrue(queryWrapper.hasCondition());
|
||||||
|
|
||||||
|
queryWrapper = QueryWrapper.create()
|
||||||
|
.where(ACCOUNT.ID.eq(1, false).and(ACCOUNT.AGE.eq(18, false)));
|
||||||
|
assertFalse(queryWrapper.hasCondition());
|
||||||
|
|
||||||
|
queryWrapper = QueryWrapper.create()
|
||||||
.where(ACCOUNT.ID.eq(1, false));
|
.where(ACCOUNT.ID.eq(1, false));
|
||||||
QueryWrapper q4 = QueryWrapper.create()
|
assertFalse(queryWrapper.hasCondition());
|
||||||
|
|
||||||
|
queryWrapper = QueryWrapper.create()
|
||||||
.where(ACCOUNT.ID.eq(1, false))
|
.where(ACCOUNT.ID.eq(1, false))
|
||||||
.and(ACCOUNT.AGE.eq(18, false));
|
.and(ACCOUNT.AGE.eq(18, false));
|
||||||
QueryWrapper q5 = QueryWrapper.create()
|
assertFalse(queryWrapper.hasCondition());
|
||||||
|
|
||||||
|
queryWrapper = QueryWrapper.create()
|
||||||
.where(ACCOUNT.ID.eq(1, false))
|
.where(ACCOUNT.ID.eq(1, false))
|
||||||
.and(ACCOUNT.AGE.eq(18))
|
.and(ACCOUNT.AGE.eq(18))
|
||||||
.or(ACCOUNT.IS_DELETE.eq(0, false));
|
.or(ACCOUNT.IS_DELETE.eq(0, false));
|
||||||
|
assertTrue(queryWrapper.hasCondition());
|
||||||
assertFalse(q1.hasCondition());
|
|
||||||
assertTrue(q2.hasCondition());
|
|
||||||
assertFalse(q3.hasCondition());
|
|
||||||
assertFalse(q4.hasCondition());
|
|
||||||
assertTrue(q5.hasCondition());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user