|
@@ -46,15 +46,23 @@ public class LambdaQueryWrapper<T> extends AbstractLambdaWrapper<T, LambdaQueryW
|
|
|
* 不建议直接 new 该实例,使用 Wrappers.lambdaQuery(entity)
|
|
|
*/
|
|
|
public LambdaQueryWrapper() {
|
|
|
- this(null);
|
|
|
+ this((T) null);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 不建议直接 new 该实例,使用 Wrappers.lambdaQuery(entity)
|
|
|
*/
|
|
|
public LambdaQueryWrapper(T entity) {
|
|
|
- super.setEntity(entity);
|
|
|
- super.initNeed();
|
|
|
+ this.setEntity(entity);
|
|
|
+ this.initNeed();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 不建议直接 new 该实例,使用 Wrappers.lambdaQuery(entity)
|
|
|
+ */
|
|
|
+ public LambdaQueryWrapper(Class<T> entityClass) {
|
|
|
+ this.setEntityClass(entityClass);
|
|
|
+ this.initNeed();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -63,12 +71,12 @@ public class LambdaQueryWrapper<T> extends AbstractLambdaWrapper<T, LambdaQueryW
|
|
|
LambdaQueryWrapper(T entity, Class<T> entityClass, SharedString sqlSelect, AtomicInteger paramNameSeq,
|
|
|
Map<String, Object> paramNameValuePairs, MergeSegments mergeSegments,
|
|
|
SharedString lastSql, SharedString sqlComment) {
|
|
|
- super.setEntity(entity);
|
|
|
+ this.setEntity(entity);
|
|
|
+ this.setEntityClass(entityClass);
|
|
|
this.paramNameSeq = paramNameSeq;
|
|
|
this.paramNameValuePairs = paramNameValuePairs;
|
|
|
this.expression = mergeSegments;
|
|
|
this.sqlSelect = sqlSelect;
|
|
|
- this.entityClass = entityClass;
|
|
|
this.lastSql = lastSql;
|
|
|
this.sqlComment = sqlComment;
|
|
|
}
|
|
@@ -87,11 +95,6 @@ public class LambdaQueryWrapper<T> extends AbstractLambdaWrapper<T, LambdaQueryW
|
|
|
return typedThis;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public LambdaQueryWrapper<T> select(Predicate<TableFieldInfo> predicate) {
|
|
|
- return select(entityClass, predicate);
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 过滤查询的字段信息(主键除外!)
|
|
|
* <p>例1: 只要 java 字段名以 "test" 开头的 -> select(i -> i.getProperty().startsWith("test"))</p>
|
|
@@ -105,8 +108,8 @@ public class LambdaQueryWrapper<T> extends AbstractLambdaWrapper<T, LambdaQueryW
|
|
|
*/
|
|
|
@Override
|
|
|
public LambdaQueryWrapper<T> select(Class<T> entityClass, Predicate<TableFieldInfo> predicate) {
|
|
|
- this.entityClass = entityClass;
|
|
|
- this.sqlSelect.setStringValue(TableInfoHelper.getTableInfo(getCheckEntityClass()).chooseSelect(predicate));
|
|
|
+ this.setEntityClass(entityClass);
|
|
|
+ this.sqlSelect.setStringValue(TableInfoHelper.getTableInfo(getEntityClass()).chooseSelect(predicate));
|
|
|
return typedThis;
|
|
|
}
|
|
|
|
|
@@ -121,7 +124,7 @@ public class LambdaQueryWrapper<T> extends AbstractLambdaWrapper<T, LambdaQueryW
|
|
|
*/
|
|
|
@Override
|
|
|
protected LambdaQueryWrapper<T> instance() {
|
|
|
- return new LambdaQueryWrapper<>(entity, entityClass, null, paramNameSeq, paramNameValuePairs,
|
|
|
+ return new LambdaQueryWrapper<>(getEntity(), getEntityClass(), null, paramNameSeq, paramNameValuePairs,
|
|
|
new MergeSegments(), SharedString.emptyString(), SharedString.emptyString());
|
|
|
}
|
|
|
}
|