第一种:使用spring的DriverManagerDataSource 需加载mysql数据库架包
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/springDB"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
第二种:使用第三方数据源实现包
DBCP数据源。
需要下载的jar包:commons-dbcp.jar,commons-pool.jar
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/springDB"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
C3P0数据源。需要的jar包c3p0-0.9.1.2.jar
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/springDB"></property>
<property name="user" value="root"></property>
<property name="password" value="root"></property>
</bean>
第三种:使用org.springframework.jndi.JndiObjectFactoryBean
这种方式方式需要在web server中配置数据源,不方便于部署
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/roseindiaDB_local</value>
</property>
</bean>
第四种:使用hibernate数据源
spring与hiberante混合使用,数据库连接方式写在hiberante的配置文件中,在spring管理hibernate中的配置文件中,直接读取hibernate核心配置文件即可。
需要hiberante核心jar包。
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/springDB"></property>
<property name="user" value="root"></property>
<property name="password" value="root"></property>
</bean>
说明
方式需要在web server中配置数据源,不方便于部署DriverManagerDataSource建立连接是只要有连接就新建一个connection,根本没有连接池的作用。
Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0。两者都真正的使用了连接池技术,可以在Spring配置文件中利用这两者中任何一个配置数据源。