8

OrmLite で sqlite の準備済みステートメントを作成することは可能ですか? その場合、異なるクエリ間で変化する可能性のあるクエリ値をバインドする方法。

4

1 に答える 1

14

OrmLite で sqlite の準備済みステートメントを作成することは可能ですか?

ORMLite のオンライン ドキュメントは非常に広範囲に及ぶため、RTFM が必要です。「準備されたステートメント」のインデックスを見ると、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();

クエリを実行する準備ができたら、select 引数を設定してクエリを発行します。

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

後で、select 引数を別の値に設定して、クエリを再実行できます。

selectArg.setValue("bar");
accounts = accountDao.query(preparedQuery);
于 2013-09-12T15:00:07.750 に答える