【问题标题】:How to create sqlite prepared statement in OrmLite?如何在 OrmLite 中创建 sqlite 准备好的语句?
【发布时间】:2013-09-12 14:46:34
【问题描述】:

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

【问题讨论】:

标签: java android sqlite ormlite


【解决方案1】:

是否可以在 OrmLite 中创建一个 sqliteprepared 语句?

您需要 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();

当您准备好运行查询时,您设置选择参数并发出查询:

selectArg.setValue("foo");
List<Account> accounts = dao.query(preparedQuery);

稍后,您可以将 select 参数设置为 另一个 值并重新运行查询:

selectArg.setValue("bar");
accounts = accountDao.query(preparedQuery);

【讨论】:

  • 你成就了我的一天。我假设 QueryBuilder 是为此,但不知道 SelectArg 是用于替换查询值。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-18
  • 2010-09-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多