1:DBCP数据源

DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池,所以在类路径下还必须包括/lib/jakarta-commons/commons-pool.jar。下面是使用DBCP配置oracle数据源的配置片断:

<bean id=”dataSource”
class=”org.apache.commons.dbcp.BasicDataSource” destroy-method=”close”>
<property name=”driverClassName”value=” oracle.jdbc.driver.OracleDriver ” />
<property name=”url” value=”jdbc:oracle:thin:@localhost:1521:orcl ” />
<property name=”username” value=”root” />
<property name=”password” value=”1234″ />
</bean>

2:C3P0数据源

C3P0是一个开放源代码的JDBC数据源实现项目,它在lib目录中与Hibernate一起发布,实现了JDBC3和JDBC2扩展规范说明的Connection 和Statement 池。C3P0类包位于/lib/c3p0/c3p0-0.9.0.4.jar。下面是使用C3P0配置一个Oracle数据源:

<bean id=”dataSource” class=”com.mchange.v2.c3p0.ComboPooledDataSource” destroy-method=”close”>
<property name=”driverClassName”value=” oracle.jdbc.driver.OracleDriver ” />
<property name=”url” value=”jdbc:oracle:thin:@localhost:1521:orcl ” />
<property name=”username” value=”root” />
<property name=”password” value=”1234″ />
</bean>

3. Spring的数据源实现类(DriverManagerDataSource)

Spring本身也提供了一个简单的数据源实现类DriverManagerDataSource ,它位于org.springframework.jdbc.datasource包中。这个类实现了javax.sql.DataSource接口,但它并没有提供池化连接的机制,每次调用getConnection()获取新连接时,只是简单地创建一个新的连接。因此,这个数据源类比较适合在单元测试或简单的独立应用中使用,因为它不需要额外的依赖类。

<bean id=”dataSource” class=”org.springframework.jdbc.datasource.DriverManagerDataSource” destroy-method=”close”>
<property name=”driverClassName”value=” oracle.jdbc.driver.OracleDriver ” />
<property name=”url” value=”jdbc:oracle:thin:@localhost:1521:orcl ” />
<property name=”username” value=”root” />
<property name=”password” value=”1234″ />
</bean>

4.获取JNDI数据源

如果应用配置在高性能的应用服务器(如WebLogic或Websphere等)上,我们可能更希望使用应用服务器本身提供的数据源。应用服务器的数据源使用JNDI开放调用者使用,Spring为此专门提供引用JNDI资源的JndiObjectFactoryBean类。下面是一个简单的配置:

<bean id=”dataSource”
class=”org.springframework.jndi.JndiObjectFactoryBean”>
<property name=”jndiName” value=”java:comp/env/jdbc/oracle”/>
</bean>

通过jndiName指定引用的JNDI数据源名称。

最新文章

  1. pycharm配置字体问题
  2. shellinabox基于web浏览器的终端模拟器
  3. Lua 之table库
  4. C++primer学习笔记(一)&mdash;&mdash;Chapter 3
  5. python函数: 内置函数
  6. SaveFileDialog的用法
  7. Effective java笔记8--序列化
  8. [iOS基础控件 - 6.10.3] DatePicker &amp; UIToolBar
  9. Windows Kernel Way 扉言
  10. 深入探讨MFC消息循环和消息泵
  11. Excel表单的读取与处理 PHPExcel与Apache POI
  12. Linux进程间通信-消息队列(mqueue)
  13. OpenStack视图
  14. 福大软工 &#183; 第十一次作业 - Alpha 事后诸葛亮(团队)
  15. docker安装hive笔记
  16. express中间件代理实现跨域
  17. java 面试 -- 4
  18. BZOJ1014: [JSOI2008]火星人prefix(splay 二分 hash)
  19. 20155331 ch02 课下作业
  20. thinkphp session设置

热门文章

  1. ES6 常用总结——第三章(数组、函数、对象的扩展)
  2. lombok使用(给自己看的,只为不要忘记自己用过的技术)
  3. 如何使用NuGet package .nupkg文件?
  4. (转)ServletConfig与ServletContext
  5. Go-The process cannot access the file because it is being used by another process.
  6. “工程师思维” VS. “学院派思维”
  7. 026 01 Android 零基础入门 01 Java基础语法 03 Java运算符 06 if-else条件结构
  8. MySQL 查询字段时,区分大小写
  9. Keil ARm新建项目
  10. 【SSO】一个简单的单点登录演示实现