CallableStatement和PreparedStatements是預編譯的。他們是否完成了連接?我的意思是,讓我們假設在應用程序服務器的連接池中有大約100個連接對象。有一個使用Callable和PreparedStatements的類。可以說,其用於即該方法:應用服務器中可調用語句和準備語句的行爲
public void invokePreparedAndCallableStatements(){
//Fetches connection from pool
Connection con = getConnectionFromPool();
CallableStatement cs = con.prepareCall(.....);
cs.register...(...);
cs.execute();
...
...
PreparedStatement st = con.prepareStatement(...);
st.setXXX(..);
st.executeUpdate();
...
}
現在,當該方法被稱爲首次,連接是從池取出並處理請求。可調用和準備好的語句被編譯。當該方法被調用另外99次時,每次從池中獲取不同的連接時,那麼 - 是否將爲每個連接編寫語句?
在這種情況下使用語句的最佳方式是什麼?我不能讓它們(con.prepareCall()或con.prepareStatement())靜態,因爲連接不是靜態的。
謝謝JOTN。是否有任何方式相同的PL/SQL過程有相同的代碼的多個編譯版本? – 2010-11-29 09:08:48