Java配置数据源的几种方式

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的数据库连接池。

时间: 2024-10-16 04:18:06

Java配置数据源的几种方式的相关文章

[转] Java配置数据源的几种方式

数据源是数据库连接池里面的概念,连接池就是指当服务器启动时,先建立几个连接,在应用需要与数据库连接时,就从连接池里获取,使用完以后,不是将连接断掉,而是放回到池里面,这样就减少了数据连接创建的次数,大大提高了连接性能. 数据源就是给服务器一个配置信息,然服务器就知道怎么使用JDBC驱动,比如url参数,数据库实例名.用户名与密码等等. Java中的数据源就是javax.sql.DataSource.DataSource的创建可以有不同的实现,下面以mysql为例介绍几种常见DataSource的

MyBatis配置数据源的两种方式

---------------------siwuxie095 MyBatis 配置数据源的两种方式 1.配置方式一:配置数据库连接信息到核心配置文件中 在 mybatis-config.xml 中添加如下内容: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" &

spring in action学习笔记十六:配置数据源的几种方式

第一种方式:JNDI的方式. 用xml配置的方式的代码如下: 1 <jee:jndi-lookup jndi-name="/jdbc/spittrDS" resource-ref="true" id="dataSource"/> 用注解方式的代码如下: 1 @Bean 2 public JndiObjectFactoryBean jndiObjectFactoryBean(){ 3 JndiObjectFactoryBean jndi

JNDI+Tomcat配置数据源的两种方式

非全局jndi配置步骤 :此种配置方式不需要在server.xml中配置数据源,而只在tomcat/conf/Catalina/localhost下的启动配置中配置即可.注意红色字体名称必须和相同. 0.需要在tomcat/common/lib下加入数据库连接的jar包 1.web.xml配置 <resource-ref>      <description>my DB Connection</description>      <res-ref-name>

在Tomcat配置JNDI数据源的三种方式

在Tomcat配置JNDI数据源的三种方式 分类: java进阶2012-07-01 10:24 18328人阅读 评论(0) 收藏 举报 tomcatjdbcweblogicmysqlbean测试 目录(?)[+] 在我过去工作的过程中,开发用服务器一般都是Tomcat 数据源的配置往往都是在applicationContext.xml中配置一个dataSource的bean 然后在部署时再修改JNDI配置 我猜是因为Tomcat的配置需要改配置文件 不像JBoss,Weblogic等服务器在

java配置定时任务的几种配置方式及示例

使用java配置定时任务的几种配置方式及示例 (2010-08-21 13:16:10) 转载▼ 标签: spring 定时器 配置 it 分类: java Spring定时器,主要有两种实现方式,包括Java Timer定时和Quartz定时器! 1.Java Timer定时 首先继承java.util.TimerTask类实现run方法 package com.land; import java.util.Date;import java.util.TimerTask; public cla

从源代码剖析Struts2中用户自定义配置转换器的两种方式——基于字段的配置转换器和基于类型的配置转换器(解决了实际系统中,因没有区分这两种工作方式的生命周期而引起的异常错误问题)

自定义类型转换器必须实现ongl.TypeConverter接口或对这个接口的某种具体实现做扩展 <<interface>>com.opensymphony.xwork2.conversion.TypeConverter à com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter à org.apache.struts2.util.StrutsTypeConverter 接口及类进行解析 TypeConverter(

spring配置属性的两种方式

spring配置属性有两种方式,第一种方式通过context命名空间中的property-placeholder标签 <context:property-placeholder location="classpath:jdbctemplate/jdbc.properties" /> 第二种方式通过创建bean,对应类为PropertyPlaceholderConfigurer <bean id="propertyConfigurer" class=

Java创建Timestamp的几种方式

1.java创建Timestamp的几种方式 Timestamp time1 = new Timestamp(System.currentTimeMillis()); Timestamp time2 = new Timestamp(new Date().getTime()); Timestamp time3 = new Timestamp(Calendar.getInstance().getTimeInMillis()); //不建议使用 Timestamp time4 = new Timest