是否可以在OrmLite中创建一个sqlite准备好的语句? 如果是这样,如何绑定可能在不同查询之间更改的查询值。
答案 0 :(得分:13)
是否可以在OrmLite中创建一个sqlite准备好的语句?
你需要RTFM,因为ORMLite的online documentation非常广泛。如果你查看"prepared statement"的索引,你会发现@Egor指出的QueryBuilder
。
如何绑定可能在不同查询中更改的查询值。
在该部分中,您将了解select arguments,了解如何绑定跨查询更改的查询值。这是在“查询参数”下的索引中。
从这里的文档中引用您如何准备自定义查询:
QueryBuilder<Account, String> queryBuilder = dao.queryBuilder();
Where<Account, String> where = queryBuilder.where();
SelectArg selectArg = new SelectArg();
// define our query as 'name = ?'
where.eq("name", selectArg);
// prepare it so it is ready for later query or iterator calls
PreparedQuery<Account> preparedQuery = queryBuilder.prepare();
准备好运行查询时,设置select参数并发出查询:
selectArg.setValue("foo");
List<Account> accounts = dao.query(preparedQuery);
稍后,您可以将select参数设置为另一个值并重新运行查询:
selectArg.setValue("bar");
accounts = accountDao.query(preparedQuery);