sql >> Databáze >  >> RDS >> Oracle

Jak mohu svázat ArrayList s PreparedStatement v Oracle?

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.



  1. Jak přidám hlas do své databáze ve formuláři?

  2. Časový rozdíl mezi záznamy

  3. Rank() SQL nebo něco takového

  4. duplicitní položky mysql a php