如何在没有 queryBuilder 的情况下在 ORMLite 中定义位置
How to define where in ORMLite without queryBuilder
当使用 ORMLite 时可以不使用 queryBuilder 来定义 Where 对象吗?我想定义很多 where 查询,然后在获取 db 的 queryBuilder 时应用我的约束。
所以,我会有这样的东西。首先创建查询:
...
myQ1 = new MyQuery ({something}...where.ge("Date", lowValue).and().le("Date", hiValue))
myQ2 = new MyQuery ({something}...where.eq("Date", dateValue))
...
其中
public class MyQuery {
Where where;
// Constructor
public MyQuery1 (Where dbWhere) {
this.where = dbWhere;
}
...
因此,根据我的标准,我稍后可以调用不同的查询:myQ1 或 myQ2:
QueryBuilder<Object, String> queryBuilder = dao.queryBuilder();
Where mainWhere = queryBuilder.where();
...case....
mainWhere.add(myQ1.where);
...
mainWhere.add(myQ2.where);
...
所以,我的问题是如何正确写:
new MyQuery1 ( /* something... */
where.ge("Date", lowValue).and().le("Date", hiValue))
所有其他部分已经工作。如果我尝试 new Where()
它需要一个 queryBuilder。
当然可以,它会像这样工作:
Where<YourClass, YourId> where = qB.where();
where.and(firstWhere, secondWhere, otherWheres)
qB.setWhere(where)
但请注意,如果没有 queryBuilder
实例
,您将无法创建 Where
当使用 ORMLite 时可以不使用 queryBuilder 来定义 Where 对象吗?我想定义很多 where 查询,然后在获取 db 的 queryBuilder 时应用我的约束。
所以,我会有这样的东西。首先创建查询:
...
myQ1 = new MyQuery ({something}...where.ge("Date", lowValue).and().le("Date", hiValue))
myQ2 = new MyQuery ({something}...where.eq("Date", dateValue))
...
其中
public class MyQuery {
Where where;
// Constructor
public MyQuery1 (Where dbWhere) {
this.where = dbWhere;
}
...
因此,根据我的标准,我稍后可以调用不同的查询:myQ1 或 myQ2:
QueryBuilder<Object, String> queryBuilder = dao.queryBuilder();
Where mainWhere = queryBuilder.where();
...case....
mainWhere.add(myQ1.where);
...
mainWhere.add(myQ2.where);
...
所以,我的问题是如何正确写:
new MyQuery1 ( /* something... */
where.ge("Date", lowValue).and().le("Date", hiValue))
所有其他部分已经工作。如果我尝试 new Where()
它需要一个 queryBuilder。
当然可以,它会像这样工作:
Where<YourClass, YourId> where = qB.where();
where.and(firstWhere, secondWhere, otherWheres)
qB.setWhere(where)
但请注意,如果没有 queryBuilder
实例
Where