如何从ORMLITE中检索记录?

时间:2012-08-29 10:41:12

标签: android ormlite

与我之前的问题类似how to delete a record from ormlite我再次可以通过Id检索记录

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

        return getBizObject(entity);
    }

但是如何检索记录不是通过id而是通过user_id之类的任何其他字段?

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

1 个答案:

答案 0 :(得分: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();

javadocs for QueryBuilder在线,您用来定义各种比较的Where object javadocs也提供了很好的信息。 building more complex queries手册中还有一节。

此外,如果您只是查询单个字段,那么DAO has a 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;