1
- 我在
Oracle11 DataBase
的表格中有兩列(KEY(varchar2)
,PROPERTY(varchar2)
)。 - 通過使用Spring框架我想從表中將所有內容(所有行)加載到Spring Bean,這樣我就可以使用Bean,而不是從DataBase中獲取值。
- 我使用Bean類「
org.apache.commons.configuration.DatabaseConfiguration
」。它工作正常,但這個bean類沒有提供將整個表格內容加載到其中的規定。
PFB,我的春節-config.xml中:在服務器運行中從Oracle DB加載到Spring Bean的表格內容
<bean name="propertyPlaceholderConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="properties" ref="commonsConfigurationFactoryBean"/>
</bean>
<bean name="commonsConfigurationFactoryBean"
class="org.springmodules.commons.configuration.CommonsConfigurationFactoryBean">
<constructor-arg ref="databaseConfiguration"/>
</bean>
<bean name="databaseConfiguration"
class="org.apache.commons.configuration.DatabaseConfiguration">
<constructor-arg type="javax.sql.DataSource" ref="dataSource"/>
<constructor-arg type="java.lang.String" index="1" value="schema.Table_Name1"/>
<constructor-arg type="java.lang.String" index="2" value="KEY"/>
<constructor-arg type="java.lang.String" index="3" value="PROPERTY"/>
</bean>
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:SYSTEM_NS:PORT:sid"/>
<property name="username" value="xxxx"/>
<property name="password" value="xxxx"/>
</bean>
Java代碼:
ApplicationContext classpathCtx = new ClassPathXmlApplicationContext("Spring-config.xml");
DatabaseConfiguration dBConfig = (DatabaseConfiguration)classpathCtx.getBean("databaseConfiguration");
// To display the value in the property column by sending the value of column KEY
System.out.println(dBConfig.getProperty("Value in the KEY column"));
上面的代碼工作正常。但每次我將密鑰發送到DatabaseConfiguration
時,它都會在內部調用數據庫以獲取我不想發生的屬性。
整個上述概念都是關於試圖將.properties中存在的所有數據存儲到數據庫並將其從數據庫中提取到我的Java代碼。
是的,我確實接受了創造你引導的方式單obj的,但你所賜給的「代碼的 「,我們指的是databaseConfigurationBean,它沒有提供加載所有行,即所有的鍵值對的dB ...讓我們說我們有100個鍵 - 值中的dB值。然後加載所有的行必須進行100分貝的通話。我的觀點是要用Spring來調用一個單獨的dB調用中的所有行。 –
user1096098
2012-07-06 21:26:18
添加了第二種替代方法,使用JdbcTemplate爲單個SQL查詢一次獲取所有鍵值對。 – greyfairer 2012-07-08 14:12:32