与我之前的问题类似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之类的任何其他字段?
我想了解用于检索记录的查询构建器
答案 0 :(得分:8)
这是一个RTFM答案。 ORMLite QueryBuider
有一些很好的例子:
引用手册,以下内容将查询特定字段。
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;