Seznam nemůžete svázat s jedním parametrem v připraveném příkazu.
Generujte SQL se značkou parametru pro každý prvek v seznamu, například:
SELECT NAME FROM ITEM WHERE ID IN (?, ?, ?, ?)
I když pro každý dotaz vygenerujete nový příkaz, stále doporučuji použít PreparedStatement
. Pokud váš seznam obsahuje String
instance, získáte nezbytný únik pro ochranu před SQL injection.
Ale i když se jedná o bezpečný typ, například Integer
objekty, některé ovladače nebo middleware mohou ukládat PreparedStatements
a v případě požadavku na stejný formulář vrátí instanci uloženou v mezipaměti. Samozřejmě by bylo potřeba nějaké testování. Pokud se vaše seznamy velmi liší velikostí, budete mít mnoho různých příkazů a špatně implementovaná mezipaměť nemusí být připravena zvládnout tolik.