一、依赖
本示例数据库为mysql,连接池选用druid(现在基本不用c3p0了),要配置连接池需要除了spring的核心依赖外还需要另外导入mysql的驱动包以及druid的包
<!-- 数据库连接池相关配置 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.23</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
二、druid连接池xml配置
下面的xml可以通过在bean.xml中使用<import resource=“xxx.xml”>的形式引用进来,如果需要在xml中读取properties文件可以通过引入<context:property-placeholder location = “classpath:xxx.properties” >的形式将properties文件引入进来
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd">
<!--读取properties文件 需要导入context的命名空间-->
<context:property-placeholder location="classpath:application.properties" />
<bean id="datasource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="driverClassName" value="${jdbc.driverClassName}" />
</bean>
</beans>
三、properties的配置
properties中配置jdbc的用户名的时候需要注意一点 不要直接用username作key,username是spring的一个关键字(被spring自己用来, 如果你配置的是username=xxxx) 那么你再xml中通过${username}取出来的值不是你配置的值,而是你的用户名!!!
jdbc.url=jdbc:mysql://127.0.0.1/test
jdbc.username=root
jdbc.password=xxxx
jdbc.driverClassName=com.mysql.jdbc.Driver
四、启动类测试
public class App {
public static void main(String[] args) throws Exception{
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
DruidDataSource druidDataSource = context.getBean("datasource", DruidDataSource.class);
Connection connection = druidDataSource.getConnection();
System.in.read(); //等待输入
}
}