spring配置连接数据库
2013-07-05 23:28
495 查看
对于不同的数据库来源, Spring提供了javax.sql.DataSource注入,更换数据库连接来源只需要在bean定义文件中修改配置,而不需要修改任何一行程序。
对于不同的项目,应用程序可能使用不同的数据来源,例如纯使用jdbc、通过连接池或者JNDI等。
1、纯JDBC方式:
applicationContext.xml
2、通过连接池:如DBCP数据库连接池
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSourceBean" class="Test201307.DataSourceBean">
<constructor-arg>
<ref bean="dataSource" />
</constructor-arg>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@127.0.0.1:1521:orcl</value>
</property>
<property name="username">
<value>zen</value>
</property>
<property name="password">
<value>sa</value>
</property>
</bean>
</beans>
注明:使用DBCP数据来源,需要在CLASSPATH中加入commons-dbcp.jar、commons-pool.jar和commons-collections.jar包。
3、通过JNDI配置
需要加入包:spring-context.jar,ojdbc14.jar
在web项目中配置jndi名称,在web应用的META-INF目录下:配置context.xml
<Context>
<Resource name="jdbc/orcl" auth="Container" type="javax.sql.DataSource"
username="zen" password="sa" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
maxActive="50" maxIdle="30" maxWait="6000"
/>
</Context>
对于不同的项目,应用程序可能使用不同的数据来源,例如纯使用jdbc、通过连接池或者JNDI等。
1、纯JDBC方式:
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="dataSourceBean" class="Test201307.DataSourceBean"> <constructor-arg> <ref bean="dataSource" /> </constructor-arg> </bean> <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:@127.0.0.1:1521:orcl</value> </property> <property name="username"> <value>zen</value> </property> <property name="password"> <value>sa</value> </property> </bean> </beans>
2、通过连接池:如DBCP数据库连接池
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSourceBean" class="Test201307.DataSourceBean">
<constructor-arg>
<ref bean="dataSource" />
</constructor-arg>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@127.0.0.1:1521:orcl</value>
</property>
<property name="username">
<value>zen</value>
</property>
<property name="password">
<value>sa</value>
</property>
</bean>
</beans>
注明:使用DBCP数据来源,需要在CLASSPATH中加入commons-dbcp.jar、commons-pool.jar和commons-collections.jar包。
3、通过JNDI配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> .... <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>jdbc/orcl</value> </property> </bean> </beans>
需要加入包:spring-context.jar,ojdbc14.jar
在web项目中配置jndi名称,在web应用的META-INF目录下:配置context.xml
<Context>
<Resource name="jdbc/orcl" auth="Container" type="javax.sql.DataSource"
username="zen" password="sa" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
maxActive="50" maxIdle="30" maxWait="6000"
/>
</Context>
相关文章推荐
- [java][spring]取得通过配置文件和注解注入的bean、取得当前数据库连接、取得Appli
- Spring Boots &mybatis连接数据库配置步骤
- Spring Boot MyBatis 连接数据库配置示例
- 重温SSH小项目实践(2)--Ibatis与Spring配置数据库连接
- spring配置下通过tomcat的jndi服务连接数据库
- Spring Boot通过Mybatis,使用mapper接口和xml配置sql,连接数据库
- Spring 配置 druid数据库连接
- spring入门之ssh中事务处理,数据库连接,spring配置文件
- Spring 配置文件中如何配置数据库连接
- 重温SSH小项目实践(2)--Ibatis与Spring配置数据库连接
- spring 配置数据库连接池
- Spring配置文件中配置数据库连接(mysql,sqlserver,oracle)
- 在手动建立数据库关系下,spring结合hibernate配置连接sqlserver数据库
- spring与hibernate整合配置多个数据库连接
- Spring 数据库连接配置
- spring 配置xml连接数据库,出现 java.lang.NoClassDefFoundError: Lorg/apache/commons/pool/impl/GenericObjectPool
- 使用Spring连接数据库,配置JSP json数据
- spring_使用占位符连接数据库_PropertyPlaceholderConfigurer_DataSource配置创建获取
- maven项目:spring配置里:连接远程oracle(虚拟机里),【虚拟机没开启(数据库连接不上)导致tomcat启动失败(web.xml配置Spring了监听器)】=(也不报具体错误,就是超时)
- 单个工程中Spring+Mybatis连接多个数据库的配置(个人分享版本)