使用spring框架时,平常你都使用那种数据源呢?本篇博客将分享spring常用的四种配置数据源方式。
以下使用Oracle10g版本作为例子。
第一种:使用spring自带的DriverManagerDataSource
配置文件如下:
1. <?xml version="1.0" encoding="UTF-8"?>
2. <beans xmlns="http://www.springframework.org/schema/beans"
3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
4. xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
5. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
6. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
7. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
8. >
9.
10. <bean id="dataSource"
11. class="org.springframework.jdbc.datasource.DriverManagerDataSource">
12. <property name="driverClassName">
13. <value>oracle.jdbc.driver.OracleDriver</value>
14. </property>
15. <property name="url">
16. <value>jdbc:oracle:thin:@192.168.24.102:1521:sms</value>
17. </property>
18. <property name="username">
19. <value>test</value>
20. </property>
21. <property name="password">
22. <value>test</value>
23. </property>
24. </bean>
25. </beans>
第二种:DBCP数据源。
需要下载的jar包:commons-dbcp.jar,commons-pool.jar
spring的配置文件中如下:
1. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
2. destroy-method="close">
3. <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
4. <property name="url" value="jdbc:oracle:thin:@192.168.24.102:1521:sms" />
5. <property name="username" value="test"/>
6. <property name="password" value="test" />
7.
8. </bean>
第三种:C3P0数据源。
配置文件中如下:
1. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
2. destroy-method="close">
3. <property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
4. <property name="jdbcUrl" value="jdbc:oracle:thin:@192.168.24.102:1521:sms " />
5. <property name="user" value="test" />
6. <property name="password" value="test" />
7.
8. </bean>
在配置c3p0数据源时,折腾许久,一直提示这个错误:
1. java.sql.SQLException: No suitable driver at java.sql.DriverManager.getDriver(Unknown Source)
2. at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:224)
3. at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
4. at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
5. at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
6. at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
7. at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
8. at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
9. at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
10. at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
上网查阅很多资料,发现很多人同样为这个问题头疼,并且也给出了相应的解决办法,这个问题提示驱动不对,但是网上解决办法往往都是配置文件中的xml书写问题,若你在配置过程中出现此问题的话,可以参考这个解决办法,很令人无语的解决办法:http://kangzye.blog.163.com/blog/static/3681922320091033359708/
我在配置过程出现问题是jdbc书写马虎,导致此问题出现。o(︶︿︶)o唉
第四种:使用hibernate数据源
需要hiberante核心jar包。
目前三大框架较流行,spring一般与hiberante做搭档,数据库连接方式写在hiberante的配置文件中,在spring管理hibernate中的配置文件中,直接读取hibernate核心配置文件即可。
其中读取hibernate数据源与访问dao层的方式是配置在一块的。配置如下:
1. <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
2. <property name="configLocations">
3. <list>
4. <value>classpath:com/config/hibernate.cfg.xml</value>
5. </list>
6. </property>
7. <property name="mappingLocations">
8. <!-- 所有的实体类映射文件 -->
9. <list>
10. <value>classpath:com/hibernate/*.hbm.xml</value>
11. </list>
12. </property>
这是常用的几种配置方式,数据源配置好了,下一步是读取Dao层,使用spring如何读取dao层呢?
PS:DBCP数据源需要的jar包下载
C3P0数据源需要的jar包下载
使用spring框架时,平常你都使用那种数据源呢?本篇博客将分享spring常用的四种配置数据源方式。
以下使用Oracle10g版本作为例子。
第一种:使用spring自带的DriverManagerDataSource
配置文件如下:
1. <?xml version="1.0" encoding="UTF-8"?>
2. <beans xmlns="http://www.springframework.org/schema/beans"
3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
4. xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
5. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
6. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
7. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
8. >
9.
10. <bean id="dataSource"
11. class="org.springframework.jdbc.datasource.DriverManagerDataSource">
12. <property name="driverClassName">
13. <value>oracle.jdbc.driver.OracleDriver</value>
14. </property>
15. <property name="url">
16. <value>jdbc:oracle:thin:@192.168.24.102:1521:sms</value>
17. </property>
18. <property name="username">
19. <value>test</value>
20. </property>
21. <property name="password">
22. <value>test</value>
23. </property>
24. </bean>
25. </beans>
第二种:DBCP数据源。
需要下载的jar包:commons-dbcp.jar,commons-pool.jar
spring的配置文件中如下:
1. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
2. destroy-method="close">
3. <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
4. <property name="url" value="jdbc:oracle:thin:@192.168.24.102:1521:sms" />
5. <property name="username" value="test"/>
6. <property name="password" value="test" />
7.
8. </bean>
第三种:C3P0数据源。
配置文件中如下:
1. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
2. destroy-method="close">
3. <property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
4. <property name="jdbcUrl" value="jdbc:oracle:thin:@192.168.24.102:1521:sms " />
5. <property name="user" value="test" />
6. <property name="password" value="test" />
7.
8. </bean>
在配置c3p0数据源时,折腾许久,一直提示这个错误:
1. java.sql.SQLException: No suitable driver at java.sql.DriverManager.getDriver(Unknown Source)
2. at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:224)
3. at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:135)
4. at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:182)
5. at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:171)
6. at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:137)
7. at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1014)
8. at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:32)
9. at com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask.run(BasicResourcePool.java:1810)
10. at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
上网查阅很多资料,发现很多人同样为这个问题头疼,并且也给出了相应的解决办法,这个问题提示驱动不对,但是网上解决办法往往都是配置文件中的xml书写问题,若你在配置过程中出现此问题的话,可以参考这个解决办法,很令人无语的解决办法:http://kangzye.blog.163.com/blog/static/3681922320091033359708/
我在配置过程出现问题是jdbc书写马虎,导致此问题出现。o(︶︿︶)o唉
第四种:使用hibernate数据源
需要hiberante核心jar包。
目前三大框架较流行,spring一般与hiberante做搭档,数据库连接方式写在hiberante的配置文件中,在spring管理hibernate中的配置文件中,直接读取hibernate核心配置文件即可。
其中读取hibernate数据源与访问dao层的方式是配置在一块的。配置如下:
1. <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
2. <property name="configLocations">
3. <list>
4. <value>classpath:com/config/hibernate.cfg.xml</value>
5. </list>
6. </property>
7. <property name="mappingLocations">
8. <!-- 所有的实体类映射文件 -->
9. <list>
10. <value>classpath:com/hibernate/*.hbm.xml</value>
11. </list>
12. </property>
这是常用的几种配置方式,数据源配置好了,下一步是读取Dao层,使用spring如何读取dao层呢?
PS:DBCP数据源需要的jar包下载
C3P0数据源需要的jar包下载