Spring配置数据源(数据库连接池)
主要针对c3p0和durid连接池进行配置
数据源(连接池)的作用
数据源(连接池)是提高程序性能而出现的,事先实例化数据源,初始化部分连接资源,使用连接资源时从数据源中获取,使用完毕后将连接资源归还给数据源。
其基本的步骤如下:
- 导入数据源的坐标和数据库驱动坐标
- 创建数据源对象
- 设置数据源的基本连接数据
- 使用数据源获取连接资源和归还连接资源
配置c3p0连接池
<bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/数据库名"/>
<property name="user" value="root"/>
<property name="password" value="root"/>
</bean>
配置druid连接池
<bean id="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/数据库名"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
将配置信息抽取到properties属性文件中
1.新建properties属性文件,将连接信息抽取到该文件中
2.在applicationContext.xml中引入属性文件
引入命名空间
xmlns:context="http://www.springframework.org/schema/context"
在xsi:schemaLocation中加入
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
最后通过< context:property-placeholder />标签引入属性文件
<context:property-placeholder location="classpath:druid.properties"/>
3.通过spring的SpEL表达式读取配置信息
<bean id="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource">
<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连接池的补充内容
- 将之前的c3p0-config.xml配置文件放的resouces目录中,在applicationContext.xml中不需要注入属性,创建连接池对象的时候会自动读取配置
<bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"></bean>
- 如果需要c3p0连接池对象自动读取类路径下的属性文件,属性文件的要求如下:
文件名:c3p0.properties
属性文件中的key是固定的:如下所示:都以c3p0.开头
c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql:///数据库名
c3p0.user=root
c3p0.password=root
来源:CSDN
作者:cwxn510
链接:https://blog.csdn.net/cwxn510/article/details/103930139