【发布时间】:2013-09-12 14:46:34
【问题描述】:
是否可以在 OrmLite 中创建一个 sqliteprepared 语句? 如果是这样,如何绑定可能在不同查询中更改的查询值。
【问题讨论】:
-
是的,哪些引用的元素是准备好的状态?
标签: java android sqlite ormlite
是否可以在 OrmLite 中创建一个 sqliteprepared 语句? 如果是这样,如何绑定可能在不同查询中更改的查询值。
【问题讨论】:
标签: java android sqlite ormlite
是否可以在 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);
【讨论】: