如何从ORMLITE中检索记录?

Sou*_*ldi 2 android ormlite

类似于我之前的问题如何从ormlite删除记录再次我可以通过Id检索记录

public BO Retrieve(int id) throws SQLException {
        TEntity entity = this.dao.queryForId(id);

        return getBizObject(entity);
    }
Run Code Online (Sandbox Code Playgroud)

但是如何通过id而不是像user_id这样的任何其他字段来检索记录呢?

我想了解用于检索记录的查询构建器

Gra*_*ray 8

这是RTFM的答案.该ORMLite QueryBuider是有据可查的有一些很好的例子:

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

要引用手册,以下内容将查询特定字段.

QueryBuilder<Account, String> queryBuilder = dao.queryBuilder();
queryBuilder.where().eq(Account.PASSWORD_FIELD_NAME, "qwerty");
List<Account> accountList = queryBuilder.query();
Run Code Online (Sandbox Code Playgroud)

对的javadocQueryBuilder在线和Where对象的javadoc您可以使用它定义各种比较也提供了良好的信息.手册中还有一节用于构建更复杂的查询.

此外,如果您只是查询单个字段,那么DAO有一个queryForEq(...)方法可以QueryBuilder为您完成这些工作.

顺便说一句,如果您指的是在public static final常量中定义它的字段的名称,建议使用它:

public class Account {
    public static final String PASSWORD_FIELD_NAME = "password"; 
    ...
    @DatabaseField(canBeNull = false, columnName = PASSWORD_FIELD_NAME)
    private String password;
Run Code Online (Sandbox Code Playgroud)