爲了安全和性能的原因,我正在修改一些使用preparedStatement而不是普通Statement的代碼。Java中針對Oracle的PreparedStatement問題
我們的應用程序目前正在將信息存儲到嵌入式德比數據庫中,但我們即將轉向Oracle。
我發現兩件事情,我需要對Oracle和預處理語句您的幫助傢伙:
1 - 我發現this document說,甲骨文沒有處理綁定參數爲IN子句,所以我們不能提供查詢如下:
Select pokemon from pokemonTable where capacity in (?,?,?,?)
這是真的嗎?有什麼解決方法嗎? ...爲什麼?
2-我們有一些類型爲TIMESTAMP的字段。因此,根據我們的實際聲明,查詢如下所示:
Select raichu from pokemonTable where evolution = TO_TIMESTAMP('2500-12-31 00:00:00.000', 'YYYY-MM-DD HH24:MI:SS.FF')
準備好的聲明應該做什麼?我應該加入參數數組: 2500-12-31或TO_TIMESTAMP('2500-12-31 00:00:00.000','YYYY-MM-DD HH24:MI:SS.FF')?
感謝您的幫助,我希望我的問題很明確!
Regards,
'String sql =「SELECT col FROM tbl WHERE ID MEMBER OF?」;'如果[你通過一個集合](https://stackoverflow.com/a/34699771/1509264)將工作。 – MT0 2018-01-14 13:16:37