如何在OrmLite中创建sqlite预处理语句?

时间:2013-09-12 14:46:34

标签: java android sqlite ormlite

是否可以在OrmLite中创建一个sqlite准备好的语句? 如果是这样,如何绑定可能在不同查询之间更改的查询值。

1 个答案:

答案 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);