Spring通过数据源获取与各种数据库的连接,怎么理解数据源呢?通俗来讲,数据源可以看作是一个灵活、便捷的连接工厂,这个工厂可以根据实际需要动态地维护池中连接的数量、健康程度、事务等。在以往的应用中,我们可以通过在Web应用服务器上面进行配置,然后获取对应的数据源引用,对此,Spring中不但可以通过JNDI获取应用服务器的数据源,也可以在Spring容器中配置数据源,甚至还可以直接通过编码的方式创建一个数据源等,本篇博客的主要内容就是要介绍Spring那些常见的数据源;
第一,先看看Spring对于Web应用服务器提供的数据源的支持,看下面一段简单的Web应用服务器端配置(具体配置方式在此不做叙述)。
java获取数据库表字段。
由于是在服务器端配置的,所以一旦启动服务器,该数据源会自动得到创建,我们要做的事情就是在Spring侧直接获取就可以了,可以在Spring配置文件中,如下配置,正常使用就可以:
<!-- 从Web应用服务器获取配置的数据源信息 -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean" p:jndiName="java:comp/env/jdbc/TestDB"/>
java本地数据库?
代码即数据结果如下:
package com.ssh.test;import org.springframework.jdbc.datasource.DriverManagerDataSource;public class DriverManagerDataSourceConstructTest {public static void main(String[] args) {DriverManagerDataSource dataSource = new DriverManagerDataSource();dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql://localhost:3306/ssh");dataSource.setUsername("root");dataSource.setPassword("root");System.out.println(dataSource);}
}
java数据源。
<pre name="code" class="html"><!-- 将类路径下面的jdbc.properties里面记载的属性放置到Spring容器中 -->
<context:property-placeholder location="classpath:jdbc.properties" />
<!-- 配置BasicDataSource数据源信息 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
jdbc.properties配置内容如下:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc\:mysql\://localhost\:3306/ssh
jdbc.username=root
jdbc.password=root
<!-- 将类路径下面的jdbc.properties里面记载的属性放置到Spring容器中 -->
<context:property-placeholder location="classpath:jdbc.properties" />
<!-- 配置BasicDataSource数据源信息 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName" value="${jdbc.driverClassName}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/>
</bean>
第四,C3P0数据源,这个数据源是一个开放源代码的JDBC数据源实现项目,该数据源拥有比DBCP更丰富的配置属性,功能更强些,推荐使用这个数据源;
<!-- 将类路径下面的jdbc.properties里面记载的属性放置到Spring容器中 -->
<context:property-placeholder location="classpath:jdbc.properties" />
<!-- 配置ComboPooledDataSource数据源信息 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"><property name="driverClass" value="${jdbc.driverClassName}"/><property name="jdbcUrl" value="${jdbc.url}"/><property name="user" value="${jdbc.username}"/><property name="password" value="${jdbc.password}"/>
</bean>
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态