當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring JDBC数据库连接池设置
生活随笔
收集整理的這篇文章主要介紹了
Spring JDBC数据库连接池设置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對于任何Java應用程序而言, 在Spring框架中設置JDBC數據庫連接池都是很容易的,僅需更改spring配置文件中的一些配置即可。使用Apache Commons DBCP和Commons Pool以及Spring框架的連接池是不錯的選擇,但是如果您擁有Web服務器和托管的J2EE容器,那么請考慮使用J2EE服務器管理的連接池,在維護,靈活性和靈活性方面都是更好的選擇通過避免在Web應用程序類加載器中加載JDBC驅動程序,還有助于防止tomcat中的java.lang.OutofMemroyError:PermGen空間。此外,通過將JDBC連接池信息保留在服務器中,可以輕松更改或包括基于SSL的JDBC設置。 在本文中,我們將看到如何使用Apache Commons DBCP和commons pool.jar 在spring框架中設置數據庫連接池。
本文是我關于Spring框架和數據庫(如帶有Spring Security的J2EE中的LDAP身份驗證)和使用Spring Security 管理會話的教程的繼續。如果您還沒有讀過那些文章,可能會發現它們很有用。
Spring示例JDBC數據庫連接池
Spring框架提供了方便的JdbcTemplate類來執行所有與數據庫相關的操作。 如果您不使用Hibernate,那么最好使用Spring的JdbcTemplate。 JdbcTemplate需要一個數據源,該數據源是javax.sql.DataSource的實現,如果使用J2EE Web服務器或應用程序服務器來管理連接池,則可以直接使用spring bean配置或使用JNDI來獲取 。 有關更多詳細信息,請參見如何在tomcat和Spring中為基于JNDI的連接池設置JDBC連接池 。 為了設置數據源,您將需要在applicationContext.xml(彈簧配置)文件中進行以下配置: //Datasource connection settings in Spring <bean id="springDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" ><property name="url" value="jdbc:oracle:thin:@localhost:1521:SPRING_TEST" /><property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /><property name="username" value="root" /><property name="password" value="root" /><property name="removeAbandoned" value="true" /><property name="initialSize" value="20" /><property name="maxActive" value="30" /> </bean>//Dao class configuration in spring <bean id="EmployeeDatabaseBean" class="com.test.EmployeeDAOImpl"><property name="dataSource" ref="springDataSource"/> </bean> 下面的DBCP連接池配置將創建20個數據庫連接,initializeSize為20,最多增加30個數據庫連接(如果需要,因為maxActive為30)。您可以使用Apache DBCP庫提供的不同屬性來自定義數據庫連接池。 上面的示例是使用Oracle 11g數據庫創建連接池,我們使用oracle.jdbc.driver.OracleDriver與ojdbc6.jar或ojdbc6_g.jar一起提供,以了解有關如何從Java程序連接Oracle數據庫的更多信息,請參見鏈接。在Spring中使用連接池的Java代碼
以下是DAO類的完整代碼示例,該類使用Spring JdbcTemplate使用來自Connection池的數據庫連接對數據庫執行SELECT查詢。 如果您沒有在啟動時初始化數據庫連接池,則在執行第一個查詢時可能需要一段時間,因為它需要創建一定數量的SQL連接,然后執行查詢,但是一旦創建了連接池,后續查詢的執行速度就會更快。 //Code for DAO Class using Spring JdbcTemplate package com.test import javax.sql.DataSource; import org.log4j.Logger; import org.log4j.LoggerFactory; import org.springframework.jdbc.core.JdbcTemplate;/*** Java Program example to use DBCP connection pool with Spring framework* @author Javin Paul*/ public class EmployeeDAOImpl implements EmployeeDAO {private Logger logger = LoggerFactory.getLogger(EmployeeDAOImpl.class);private JdbcTemplate jdbcTemplate;public void setDataSource(DataSource dataSource) {this.jdbcTemplate = new JdbcTemplate(dataSource);}@Overridepublic boolean isEmployeeExists(String emp_id) {try {logger.debug("Checking Employee in EMP table using Spring Jdbc Template");int number = this.jdbcTemplate.queryForInt("select count(*) from EMP where emp_id=?", emp_id);if (number > 0) {return true;}} catch (Exception exception) {exception.printStackTrace();}return false;} } 依賴關系: 1.您需要在類路徑中包含像ojdbc_6.jar這樣的Oracle驅動程序jar。 2.應用程序類路徑中的Apache DBCP和公共池jar。 這就是如何在Spring框架中配置JDBC數據庫連接池的全部內容。 正如我所說的,使用Apache DBCP庫非常容易。 只需在spring applicationContext.xml中進行少量配置就可以了。 如果要在tomcat上配置JDBC連接池(JNDI連接池)并想在spring中使用,請參見此處。 參考: Spring Framework中的JDBC數據庫連接池-如何從我們的JCG合作伙伴 Javin Paul在Javarevisited博客上獲得安裝示例 。翻譯自: https://www.javacodegeeks.com/2012/08/spring-jdbc-database-connection-pool.html
總結
以上是生活随笔為你收集整理的Spring JDBC数据库连接池设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网络怎么设置路由器用网线上网要如何设置路
- 下一篇: 怎么用路由器设置两台电脑上网路由器如何开