黑马程序员技术交流社区

标题: 【石家庄校区】spring配置datasource三种方式 [打印本页]

作者: superhello    时间: 2019-7-7 11:36
标题: 【石家庄校区】spring配置datasource三种方式
1、使用org.springframework.jdbc.datasource.DriverManagerDataSource
说明:DriverManagerDataSource建立连接是只要有连接就新建一个connection,根本没有连接池的作用。

[Java] 纯文本查看 复制代码
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
             <propertyname="driverClassName"><value>${jdbc.driverClassName}</value></property>
             <propertyname="url"><value>${jdbc.url}</value></property>
             <propertyname="username"><value>${jdbc.username}</value></property>
             <propertyname="password"><value>${jdbc.password}</value></property>

</bean>



2、使用org.apache.commons.dbcp.BasicDataSource
说明:这是一种推荐说明的数据源配置方式,它真正使用了连接池技术
[Java] 纯文本查看 复制代码
<bean id="dataSource"class="org.apache.commons.dbcp.BasicDataSource"> 
             <property name="driverClassName">
                    <value>com.mysql.jdbc.Driver</value>
             </property>
             <property name="url">
                    <value> jdbc:mysql://localhost:3306/db0</value>
             </property>
             <property name="username">
                    <value>test</value>
             </property>
             <property name="password">
                    <value>test</value>
             </property>
             <property name="maxActive">
                    <value>255</value>
             </property>
             <property name="maxIdle">
                    <value>2</value>
             </property>
             <property name="maxWait">
                    <value>120000</value>
             </property>
</bean>



3、使用org.springframework.jndi.JndiObjectFactoryBean
说明:JndiObjectFactoryBean 能够通过JNDI获取DataSource
[Java] 纯文本查看 复制代码
<bean id="dataSource"class="org.springframework.jndi.JndiObjectFactoryBean"> 
     <propertyname="jndiName"><value>java:comp/env/jdbc/roseindiaDB_local</value></property>
</bean>


总结:3种方式中的第一种没有使用连接池,故少在项目中用到,第三种方式需要在web server中配置数据源,不方便于部署。



C3P0数据源
    C3P0是一个开放源代码的JDBC数据源实现项目,它在lib目录中与Hibernate一起发布,实现了JDBC3和JDBC2扩展规范说明的 Connection 和Statement 池。C3P0类包位于<spring_home></spring_home>/lib/c3p0/c3p0-0.9.0.4.jar。下面是使用C3P0配置一个 mysql数据源:

[Java] 纯文本查看 复制代码
1.<bean id="dataSource"class="com.mchange.v2.c3p0.ComboPooledDataSource"       
2.       destroy-method="close">      
3.    <propertyname="driverClass" value=" com.mysql.jdbc.Driver"/>      
4.    <propertyname="jdbcUrl" value=" jdbc:mysql://localhost:3306/db0"/>      
5.    <propertyname="user"value="admin"/>      
6.    <propertyname="password"value="1234"/>      
7.</bean>  


druid数据源的配置方法与c3p0的类似,故不提供方法
druid现在是目前用的比较多的数据库连接池,其优点在于功能、性能、扩展性方面,都超过其他数据库连接池,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况。










欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2