博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring框架中获得DataSource对象的方法
阅读量:4457 次
发布时间:2019-06-08

本文共 2420 字,大约阅读时间需要 8 分钟。

在Spring框架中有如下3种获得DataSource对象的方法: 

1.从JNDI获得DataSource. 
2.从第三方的连接池获得DataSource. 
3.使用DriverManagerDataSource获得DataSource. 
JNDI方式

Java代码  
  1. 1、SpringJNDI数据源配置信息:  
  2.   <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">  
  3.    <property name="jndiName">  
  4.     <value>java:comp/env/jcptDataSourceJNDI</value>  
  5.    </property>  
  6.   </bean>  
  7.   jcptDataSourceJNDI是tomcat或者其他应用服务器配置的JNDI.  
  8.    
  9. 2、关于JNDI的配置(tomcat):  
  10.   修改tomcat目录conf/context.xml文件:  
  11.   <Resource name="jcptDataSourceJNDI" auth="Container" type="javax.sql.DataSource"  
  12.       maxActive="100" maxIdle="30" maxWait="10"   username="tysp"  
  13.       password="12345678" driverClassName="oracle.jdbc.driver.OracleDriver"  
  14.       url="jdbc:oracle:thin:@192.168.1.35:1521:orcl"/>   
  15.    
  16. 3、通过JNDI获取DataSource:  
  17.   Context context = new InitialContext();  
  18.   DataSource ds = (DataSource)context.lookup("java:comp/env/jcptDataSourceJNDI");  

使用DBCP连接池获取 

Java代码  
  1. 要在Spring中使用DBCP连接池,需要引入commons-collections.jar、commons-dbcp.jar和commons-pool.jar。  
  2.    
  3. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">  
  4.         <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>  
  5.         <property name="url" value="jdbc:oracle:thin:@192.168.1.35:1521:orcl"></property>  
  6.         <property name="username" value="or_meal"></property>  
  7.         <property name="password" value="or_meal"></property>  
  8.         <property name="maxActive" value="100"></property>  
  9.         <property name="maxIdle" value="30"></property>  
  10.         <property name="maxWait" value="10"></property>  
  11.         <property name="defaultAutoCommit" value="false"></property>  
  12.     </bean>  
  13.    
  14.     <bean id="sessionFactory"  
  15.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">  
  16.         <property name="dataSource">  
  17.             <ref bean="dataSource" />  
  18.         </property>  
  19.    
  20.         <property name="hibernateProperties">  
  21.             <props>  
  22.                 <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect  
  23.                 </prop>  
  24.                 <prop key="show_sql">true</prop>  
  25.                 <prop key="format_sql">true</prop>  
  26.             </props>  
  27.         </property>  
  28.         <property name="mappingResources">  
  29.         <list></list>  
  30.         </property>  
  31.     </bean>  

使用DriverManagerDataSource 

Java代码  
    1. <bean id="dataSource"  
    2.         class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
    3.         <property name="driverClassName">  
    4.             <value>oracle.jdbc.driver.OracleDriver  
    5.             </value>  
    6.         </property>  
    7.         <property name="url">  
    8.             <value>jdbc:oracle:thin:@192.168.1.35:orcl  
    9.             </value>  
    10.         </property>  
    11.         <property name="username">  
    12.             <value>or_meal</value>  
    13.         </property>  
    14.         <property name="password">  
    15.             <value>or_meal</value>  
    16.         </property>  
    17.     </bean>  

转载于:https://www.cnblogs.com/dengjiali/articles/3548349.html

你可能感兴趣的文章
C++ Primer 第六章 函数
查看>>
交互设计算法基础(3) - Quick Sort
查看>>
Ubuntu各种软件的安装
查看>>
2019春第四次课程设计实验报告
查看>>
智能社的邀请码
查看>>
算法与分析 统计数字问题和整数因子分解问题?
查看>>
变量提升
查看>>
Thinkphp3.2多站点共用S方法缓存
查看>>
高精度(✚▬✖)法,↓↓↓
查看>>
谜题88:原生类型的处理
查看>>
boost::asio::detail::epoll_reactor::start_op的崩溃问题
查看>>
一句话题解
查看>>
第四次作业-树
查看>>
[转]调试技巧
查看>>
js判断手机访问网站自动跳转到手机版
查看>>
一个 tiny Lisp 语言解释器的实现
查看>>
【翻译】如何给tomcat配置memcached-session-manager
查看>>
EasyNVR实现海康、大华NVR硬盘录像机Web无插件播放方案(支持取特定时间段视频流)...
查看>>
复利计算单元测试
查看>>
IE浏览器日期格式问题
查看>>