2016-09-12 72 views
0

在DB(Oracle)中有一個存儲「代碼」及其「說明」的表。我需要在我的應用程序啓動過程中加載這個表數據,並將其存儲在一個變量(可能是一個Map對象)中,以便我可以查詢每個請求的代碼描述,而不必爲每個請求都敲擊數據庫。什麼是最好的方法來做到這一點?在應用程序啓動過程中從數據庫加載數據

應用程序是基於Spring框架的獨立Java應用程序。

謝謝。

+0

同樣的方式。哪一部分讓你煩惱? ---另外,您可能需要考慮延遲加載,即在第一次需要描述之前不要查詢數據庫。 – Andreas

+0

好吧,答案可能有點複雜,你可以通過兩種方式處理「JDBC」和「Hibernate」,我們需要更多的信息才能正確回答。 看一看「Prepared statement JDBC」可能是最簡單的方法,那麼你可以從準備好的語句中填充一個map對象 – RudiDudi

+0

是的。我將查詢數據庫來獲取這些數據。我正在尋找更多的Spring配置方面來做到這一點。我是否應該聲明一個bean並定義一個查詢數據庫並加載數據的init方法?或者還有其他更好的方法來做到這一點嗎?謝謝。 – Kishore

回答

0

您可以創建一個挑選的應用程序啓動方法的類。 在Spring中,您可以使用ApplicationReadyEvent事件實現ApplicationListener接口。

此時您的應用程序已準備好與數據庫 進行通信並自動執行您的代碼。

@Component 
    public class AppBootstrapListener implements  ApplicationListener<ApplicationReadyEvent> { 
// Inject Service or repository if you have. 

/** 
* Executes on application ready event 
* Check's if data exists & calls to create or read data 
*/ 
@Override 
public void onApplicationEvent(ApplicationReadyEvent event) { 
    // code here 
} 
} 

對於任何clearification添加評論你執行所有其他數據庫查詢

相關問題