码迷,mamicode.com
首页 > 编程语言 > 详细

Java配置数据源的几种方式

时间:2015-02-10 13:28:50      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:spring   数据源   

Spring应用程序经常部署到在Java EE应用服务器中,如WebShpere,JBoss,resin或者像Tomcat这样的Web容器,这些服务允许你配置通过JNDI获取数据源。在项目中经常遇到配置数据源,根据在工作中的学习和书上的学习,现在总结一下,算是一点自己的体会吧!本文以resin为例
1.使用JNDI数据源
这种方式本质就是配置Web容器的配置文件中,随着应用程序的启动,连接数据源,在java应用程序中,通过配置数据源的JNDI名称,获取相应的数据源。
例如:

<database>
            <jndi-name>db/demo1</jndi-name>
            <driver type="net.sourceforge.jtds.jdbc.Driver">
            <url>jdbc:jtds:sqlserver://192.168.0.0:18991;DatabaseName=aaaaa</url>
            <user>xxx</user>
            <password>******</password>
            </driver>
            <prepared-statement-cache-size>8</prepared-statement-cache-size>
            <max-connections>20</max-connections>
            <max-idle-time>30s</max-idle-time>
</database>
<database>
            <jndi-name>db/demo2</jndi-name>
            <driver type="net.sourceforge.jtds.jdbc.Driver">       
            <url>jdbc:jtds:sqlserver://192.168.0.1:18991;DatabaseName=bbbbbb</url>
            <user>xxx</user>
            <password>******</password>
            </driver>
            <prepared-statement-cache-size>8</prepared-statement-cache-size>
            <max-connections>20</max-connections>
            <max-idle-time>30s</max-idle-time>
</database>

这段配置需要配置在resin容器的配置文件中,在java的应用开发中就可以使用jndi-name配置的数据源名称获取相应的数据源连接。
2.使用数据源连接池
主要配置在Spring的配置文件进行配置,这个例子中是用了dbcp的数据源连接池,例如spring-context.xml中。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-ethod="close">      
        <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver" />
        <property name="url" value="jdbc:jtds:sqlserver://127.0.0.1:18992/demo" />
        <property name="username" value="xxx" />
        <property name="password" value="***" />
        <!--initialSize: 初始化连接-->
        <property name="initialSize" value="6"/>    
        <!--maxIdle: 最大空闲连接-->
        <property name="maxIdle" value="10"/>
        <!--minIdle: 最小空闲连接-->
        <property name="minIdle" value="6"/>
        <!--maxActive: 最大连接数量-->
        <property name="maxActive" value="20"/>
        <!--removeAbandoned: 是否自动回收超时连接-->
        <property name="removeAbandoned" value="true"/>
        <!--removeAbandonedTimeout: 超时时间(以秒数为单位)-->
        <property name="removeAbandonedTimeout" value="180"/>
        <!--maxWait: 超时等待时间以毫秒为单位 6000毫秒/1000等于6秒-->
        <property name="maxWait" value="60000"/>
        <property name="minEvictableIdleTimeMillis" value="1"/>
        <property name="timeBetweenEvictionRunsMillis" value="1"/>
        <property name="testOnBorrow">
            <value>true</value>
        </property>
        <property name="testOnReturn">
            <value>true</value>
        </property>
        <property name="testWhileIdle">
            <value>true</value>
        </property>
        <property name="validationQuery">
            <value>SELECT 1</value>
        </property>
    </bean>

3.基于JDBC驱动的数据源
这种配置其实和上面的2在在配置方式和配置参数中大致一样,就是在采用驱动的时候采用了不同的驱动类型,使用了最基本的jdbc的数据库连接池。

Java配置数据源的几种方式

标签:spring   数据源   

原文地址:http://blog.csdn.net/figthinbeijing/article/details/43700343

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!