07-Spring管理数据库连接池

starrylsi
2024-09-11 / 0 评论 / 9 阅读 / 正在检测是否收录...

目标: 一切都是为了spring整合mybatis
关键: Spring配置管理数据库连接池对象

1. 搭建Spring的开发环境

  1. 创建java工程
  2. 导入Spring需要的jar包

commons-logging-1.1.3.jar
spring-beans-3.0.0.RELEASE.jar
spring-context-3.0.0.RELEASE.jar
spring-core-3.0.0.RELEASE.jar
spring-expression-3.0.0.RELEASE.jar

  1. 日记包

log4j-1.2.17.jar

  1. log4j.properties属性配置文件
# Global logging configuration
log4j.rootLogger=INFO, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
  1. 还需要导入数据库驱动包以及数据库连接池

druid-1.1.10.jar
mysql-connector-java-4.1.37-bin.jar

  1. 创建Spring的配置文件application.xml

2. Spring配置管理数据库连接池对象

  1. 在Spring的配置文件中配置数据库连接池对象
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <!-- 配置一个数据库连接池对象 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="url" value="jdbc:mysql://localhost:3306/zhuama" />
        <property name="username" value="root" />
        <property name="password" value="root" />
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    </bean>

</beans>
public class ApplicationTest {

    @Test
    public void test1() throws Exception {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
                "application.xml");
        DataSource dataSource = (DataSource) applicationContext.getBean("dataSource");
        System.out.println(dataSource.getConnection());
    }

}

2. Spring引入单独的jdbc.properties配置文件

2.1 抽取四个jdbc连接属性到jdbc.properties属性配置文件中

jdbc.username=root
jdbc.password=root
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.driverClassName=com.mysql.jdbc.Driver

2.2 使用PropertyPlaceholderConfigurer 来加载jdbc.properties属性配置文件

<!-- 它可以加载jdbc.properties属性配置文件 -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <!-- location 属性是你要加载的jdbc.properties属性配置文件的路径 -->
    <property name="location" value="classpath:jdbc.properties" />
</bean>

2.3 使用加载后的jdbc.properties属性配置文件中的连接属性。

<!-- 配置一个数据库连接池对象 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    <property name="url " value="${jdbc.url}" />
    <property name="username" value="${jdbc.user}" />
    <property name="password" value="${jdbc.password}" />
    <property name="driverClassName" value="${jdbc.driverClass}" />
</bean>

3. 使用context名称空间加载jdbc.properties配置文件

spring-application-content.png

<!-- 使用context命名空间加载配置文件
    需要给配置文件中的key添加前缀 否则会自动使用当前电脑的username
 -->
<context:property-placeholder location="classpath:jdbc.properties"/>
db.jdbc.username=root
db.jdbc.password=root
db.jdbc.url=jdbc:mysql://localhost:3306/mybatis
db.jdbc.driverClassName=com.mysql.jdbc.Driver
<!-- 配置一个数据库连接池对象 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    <property name="url " value="${db.url}" />
    <property name="username" value="${db.user}" />
    <property name="password" value="${db.password}" />
    <property name="driverClassName" value="${db.driverClass}" />
</bean>
0

评论 (0)

取消