android ORMLite获取查询Where NOTal

2 android ormlite

在ORMLite文档中,我找不到有关此SQL命令的任何文档:

SELECT * FROM table WHERE state <> 1
Run Code Online (Sandbox Code Playgroud)

我可以通过此代码获得相同的查询:

List<ContactLists> contacts = G.CONTACTLISTSDAO.queryForEq("state","1");
Run Code Online (Sandbox Code Playgroud)

如何将此代码更改为NOT Equal

Gra*_*ray 6

如何将此代码更改为NOT Equal

ORMLite DAO有一个简单的queryForEq(...)方法.如果您查看代码,queryForEq(...)您将看到它只是一种方便的方法:

return queryBuilder().where().eq(fieldName, value).query();
Run Code Online (Sandbox Code Playgroud)

这意味着您可以更改使用位置ne(...)而不是eq(...):

return queryBuilder().where().ne(fieldName, value).query();
Run Code Online (Sandbox Code Playgroud)

要做更复杂的查询,你应该RTFM QueryBuilder.

http://ormlite.com/docs/query-builder

QueryBuilder使用where()方法和Where来定义WHERE查询的部分.还有eq的平等,gt为大于,lt对于小于,ne不,平等,等等.所以,作为@BrownKang指出,您的查询会是这样的:

List<ContactLists> contacts =
    G.CONTACTLISTSDAO.queryBuilder().where().ne("state", "1").query();
Run Code Online (Sandbox Code Playgroud)