我有一個日誌文件,參數的一些SQL字符串,例如通過值列表(SQL)
select a,b,c from db_table where d=? and e=?
-> params: [10,20]
我不能改變日誌格式,使得問號被替換替換字符串模式各自的參數(至少據我所知,我使用Toplink作爲OR映射器)。所以,我想有一個小工具,我可以給查詢,模式和參數,它給我的結果(GUI或沒有無所謂)。就像這樣:
> insertUtil 'select a,b,c from db_table where d=? and e=?' '?' '10,20'
select a,b,c from db_table where d='10' and e='20'
它不一定是完美的(如日期轉換等),它應該只是插入字符串。不需要防止SQL注入,它只是一個調試潛在的長查詢的工具。
我知道這是微不足道的編程這樣的事情,但我很驚訝,我找不到這樣的任何現有的程序。
爲了說清楚我沒有在尋找一種使用JDBC做預處理語句的方法,我試圖獲取包含參數的完整查詢,以便我可以在另一個程序中執行它,例如生成一個查詢爲此計劃。
對不起,我更新了我的問題,以澄清我不想用JDBC創建預準備語句的方法 – Shirky
感謝您的編輯!我知道這很難做到,但這就是爲什麼我不想自己做。我總覺得有人比我更聰明的人會創建一個可以做到這一點的程序。在我看來,必須有許多人希望從OR映射器日誌文件中用外部DB工具執行查詢,例如,查看其查詢計劃。 – Shirky
@Shirky很多人都希望這樣做,但沒有覺得值得他們花時間編寫一個實用程序來自動化它。查看一個查詢計劃通常是一次只做一次的事情,而不是一個持續的練習,因此手動替換參數的速度可能比編寫實用程序自動執行更快。 – dasblinkenlight