现在的位置: 首页 > 综合 > 正文

Spring框架中获得DataSource对象的方法

2018年02月05日 ⁄ 综合 ⁄ 共 2837字 ⁄ 字号 评论关闭
在Spring框架中有如下3种获得DataSource对象的方法:
1.从JNDI获得DataSource.
2.从第三方的连接池获得DataSource.
3.使用DriverManagerDataSource获得DataSource.
标签:
Spring

代码片段(3)

[代码] JNDI方式

01 1、SpringJNDI数据源配置信息:
02   <bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
03    <property name="jndiName">
04     <value>java:comp/env/jcptDataSourceJNDI</value>
05    </property>
06   </bean>
07   jcptDataSourceJNDI是tomcat或者其他应用服务器配置的JNDI.
08  
09 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连接池获取

01 要在Spring中使用DBCP连接池,需要引入commons-collections.jar、commons-dbcp.jar和commons-pool.jar。
02  
03 <bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
04         <property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver"></property>
05         <property name="url"
value="jdbc:oracle:thin:@192.168.1.35:1521:orcl"></property>
06         <property name="username"
value="or_meal"></property>
07         <property name="password"
value="or_meal"></property>
08         <property name="maxActive"
value="100"></property>
09         <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

01 <bean id="dataSource"
02         class="org.springframework.jdbc.datasource.DriverManagerDataSource">
03         <property name="driverClassName">
04             <value>oracle.jdbc.driver.OracleDriver
05             </value>
06         </property>
07         <property name="url">
08             <value>jdbc:oracle:thin:@192.168.1.35:orcl
09             </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>

抱歉!评论已关闭.