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

4 篇文章 0 订阅
3 篇文章 0 订阅
在Spring框架中有如下3种获得DataSource对象的方法:
一、从JNDI获得DataSource

1.在tomcat服务器中的配置示例,在tomcat目录conf/context.xml文件中添加:

 <Resource 
     name="jdbc/writeDataSource" 
     auth="Container" 
     type="javax.sql.DataSource" 
     maxActive="100" 
     maxIdle="30" 
     maxWait="10" 
     username="tysp"    
     password="12345678" 
     driverClassName="oracle.jdbc.driver.OracleDriver"
     url="jdbc:oracle:thin:@192.168.1.35:1521:orcl"/> 

2.在resin服务器中的配置示例,在resin目录conf/resin.xml文件中添加

<database jndi-name='jdbc/writeDataSource'>
 <driver type="com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource"> 
<url>jdbc:mysql://localhost:3306/yfhesuanuseUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull</url> 
<user>root</user> 
<password>12345678</password>
 </driver> 
<prepared-statement-cache-size>8</prepared-statement-cache-size>
<max-connections>30</max-connections>
<max-idle-time>30s</max-idle-time> 
<connection-wait-time>30000</connection-wait-time> 
<transaction-timeout>30000</transaction-timeout> 
 </database>


 

3.SpringJNDI数据源配置信息

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

在赋值到value时必须加上"java:comp/env/"。

注意:记得要把数据库驱动的jar包丢到服务器的lib下。

二、从第三方的连接池获得DataSource

要在Spring中使用DBCP连接池,需要引入commons-collections.jar、commons-dbcp.jar和commons-pool.jar。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property> 
        <property name="url" value="jdbc:oracle:thin:@192.168.1.35:1521:orcl"></property> 
        <property name="username" value="or_meal"></property> 
        <property name="password" value="or_meal"></property> 
        <property name="maxActive" value="100"></property> 
        <property name="maxIdle" value="30"></property> 
        <property name="maxWait" value="10"></property> 
        <property name="defaultAutoCommit" value="false"></property> 
    </bean>

    <bean id="sessionFactory" 
        class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
        <property name="dataSource"> 
            <ref bean="dataSource" /> 
        </property>

        <property name="hibernateProperties"> 
            <props> 
                <prop key="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect 
                </prop> 
                <prop key="show_sql">true</prop> 
                <prop key="format_sql">true</prop> 

            </props> 
        </property> 
        <property name="mappingResources"> 
        <list></list> 
        </property> 
    </bean>


 

三、使用DriverManagerDataSource获得DataSource
<bean id="dataSource" 
        class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
        <property name="driverClassName"> 
            <value>oracle.jdbc.driver.OracleDriver 
            </value> 
        </property> 
        <property name="url"> 
            <value>jdbc:oracle:thin:@192.168.1.35:orcl 
            </value> 
        </property> 
        <property name="username"> 
            <value>or_meal</value> 
        </property> 
        <property name="password"> 
            <value>or_meal</value> 
        </property> 
    </bean>




 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值