4 回答

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
首先說(shuō)明的一點(diǎn),為了應(yīng)用便于移植以及可配置的角度,建議還是使用jndi統(tǒng)一進(jìn)行連接池的配置。怎么配置其實(shí)網(wǎng)上都有很多例子,
這里簡(jiǎn)單舉個(gè)例子(使用spring框架):
首先在應(yīng)用的上下文定義中配置jndi名稱,如一個(gè)resource.xml文件,里邊的寫法
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName"><value>jdbc/myapp</value></property>
</bean>
注意dataSource這個(gè)bean在dao層(hibernate或jdbc)的配置文件里需要作為dataSource名稱的屬性配置到所有bean中
其中“jdbc/myds”這個(gè)就是jndi名稱了,下一步就是在應(yīng)用服務(wù)器連接池里進(jìn)行數(shù)據(jù)庫(kù)連接以及對(duì)應(yīng)的jndi配置了

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
試試這個(gè)方法:<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/BookDB"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果你想在action里判斷數(shù)據(jù)庫(kù)是否鏈接,只能創(chuàng)建一個(gè)標(biāo)記。全局變量。比如isConn.當(dāng)創(chuàng)建鏈接的時(shí)候把這個(gè)標(biāo)記設(shè)置為1.關(guān)閉數(shù)據(jù)庫(kù)的時(shí)候標(biāo)記重置 為0.這樣在action里不用獲取connection對(duì)像,直接判斷這個(gè)全局標(biāo)記就可以了。
還有就是在創(chuàng)建鏈接之前先判斷這個(gè)標(biāo)記是否是0。在關(guān)閉鏈接之前判斷這個(gè)標(biāo)記是否為1
添加回答
舉報(bào)