Spring配置数据源(数据库连接池)

好久不见. 提交于 2020-01-11 04:55:45

Spring配置数据源(数据库连接池)

主要针对c3p0和durid连接池进行配置

数据源(连接池)的作用

数据源(连接池)是提高程序性能而出现的,事先实例化数据源,初始化部分连接资源,使用连接资源时从数据源中获取,使用完毕后将连接资源归还给数据源。
其基本的步骤如下

  1. 导入数据源的坐标和数据库驱动坐标
  2. 创建数据源对象
  3. 设置数据源的基本连接数据
  4. 使用数据源获取连接资源和归还连接资源

配置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连接池的补充内容

  1. 将之前的c3p0-config.xml配置文件放的resouces目录中,在applicationContext.xml中不需要注入属性,创建连接池对象的时候会自动读取配置
<bean id="c3p0DataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"></bean>
  1. 如果需要c3p0连接池对象自动读取类路径下的属性文件,属性文件的要求如下:
    文件名:c3p0.properties
    属性文件中的key是固定的:如下所示:都以c3p0.开头
c3p0.driverClass=com.mysql.jdbc.Driver
c3p0.jdbcUrl=jdbc:mysql:///数据库名
c3p0.user=root
c3p0.password=root
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!