Spring下dataSource实战

总言:在Spring中,任何数据的连接都是通过数据源获得的。数据源的获取主要有两种方式:

1在Spring容器中直接配置数据源

2:通过jndi获取。


下面通过具体的实例讲解这两种数据源配置方法


一:Spring容器中直接配置数据源

Spring在第三方依赖包中有两个实现数据源的类包,分别是DBCP和C3P0,Spring可以利用两者中任何一个进行数据源配置。这种配置方式就是直接在容器中通过引入配置文件写死,要修改数据源就修改配置文件。下面分别介绍具体实现:

1.1.DBCP数据源

DBCP依赖commons-pool的类包,如果使用,需引入如下MAVEN:


		
			  commons-dbcp
			  commons-dbcp
			  1.4
		
		
		
		
			  commons-pool
			  commons-pool
			  1.5.4
		


Spring中具体配置:

  
     
    
	
	 
 		  
          
          
          
	

项目开发中通常会把数据库的配置放在一个properties文件中,通过${XX}形式引用。其中destory-method=“close”指的是Spring容器关闭,数据源能正常关闭。


jdbc.properties:具体配置

####使用jndi或c3p0(DBCP)

#jndi数据源配置
jndi.datasource=jdbc/PUMSDB

#c3p0数据源配置
jdbc.driverClass                  =com.ibm.db2.jcc.DB2Driver
jdbc.url                          =jdbc:db2://10.27.19.1:60004/pumpdev
jdbc.user                         =pumpusr
jdbc.password                     =dE3dHE10
jdbc.minPoolSize                  =1
jdbc.maxPoolSize                  =20
jdbc.initialPoolSize              =1
jdbc.maxIdleTime                  =25000
jdbc.acquireIncrement             =5
jdbc.acquireRetryAttempts         =30
jdbc.acquireRetryDelay            =1000
#####获取connnection时测试是否有效#####
jdbc.testConnectionOnCheckin      =true
#####自动测试的table名称###############
jdbc.automaticTestTable           =c3p0testtable
jdbc.idleConnectionTestPeriod     =18000
jdbc.checkoutTimeout              =3000
上述最重要的就是driverClass,url,user,password四个参数。

1.1.C3P0数据源

  
     
    
	
	 
 	  
          
          
          
	


jdbc.properties代码如上,不过这里需要注意: property和DHCP的不同。以免启动时报参数错误。

Spring下dataSource实战_第1张图片

关于其他参数,例如maxActive,maxPoolSize等介绍文章很多,不赘述。


以下是启动日志:

Spring下dataSource实战_第2张图片


二:使用JNDI配置数据源

如果应用配置在高性能应用服务器上,比如Websphere或者Tomcat等上面时,可以使用JNDI来配置数据源。

原理就是通过容器中配置org.springframework.jndi.JndiObjectFactoryBean,寻在tomcat应用服务器上配置jndi,通过name来匹配。实现如下:


2.1.jdbc.properties配置

Spring下dataSource实战_第3张图片


2.2.相关的配置

  
     
    
	
	
		
		
	

引入jdbc配置文件,定义一个jndiName。


tomcat中配置:

 
这里请注意: name=“jdbc/PUMSDB”要和jndiName中匹配。


总结:dataSource配置好后就可以进行相关其他的配置了比如事务,如图:

Spring下dataSource实战_第4张图片




你可能感兴趣的:(SSH框架,dataBase,Spring)