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

cub*_*oft 8 java sqlite android ormlite

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

Gra*_*ray 13

是否可以在OrmLite中创建一个sqlite预处理语句?

您需要RTFM,因为ORMLite的在线文档非常广泛.如果你查看索引中的"预备语句",你会发现QueryBuilder@Egor指出的内容.

如何绑定可能在不同查询之间更改的查询值.

在该部分中,您将了解有关select参数的更多信息,这些参数是如何绑定跨查询更改的查询值的.这是在"查询参数"下的索引中.

从这里的文档引用您如何准备自定义查询:

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();
Run Code Online (Sandbox Code Playgroud)

当您准备好运行查询时,您可以设置select参数并发出查询:

selectArg.setValue("foo");
List<Account> accounts = dao.query(preparedQuery);
Run Code Online (Sandbox Code Playgroud)

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

selectArg.setValue("bar");
accounts = accountDao.query(preparedQuery);
Run Code Online (Sandbox Code Playgroud)