Spring产生数据源对象(c3p0连接池和druid连接池)
创始人
2025-06-01 04:26:05

目录

  • 一、c3p0
    • 1. 添加依赖
    • 2. 在resources中创建applicationContext.xml文件
    • 3. 在applicationContext.xml中创建c3p0数据源对象
    • 4.测试是否成功连接上数据库
  • 二、druid
    • 1. 添加依赖
    • 2. 在resources中创建applicationContext.xml文件
    • 3. 在applicationContext.xml中创建druid数据源对象
    • 4.测试是否成功连接上数据库

一、c3p0

1. 添加依赖

c3p0c3p00.9.1.2

junitjunit 4.12test

org.springframeworkspring-context5.0.5.RELEASE

2. 在resources中创建applicationContext.xml文件

3. 在applicationContext.xml中创建c3p0数据源对象



标签解析

  • id:自己给该对象命名的唯一标签,dataSource就是我命名的
  • class:创建的对象所属类的地址,我创建的是ComboPooledDataSource类的对象,所以就是这个类的地址。如何获取类地址?点这里
  • 4个name:数据源参数的名字,根据类的相关变量的set方法命名。
 //创建数据源ComboPooledDataSource dataSource = new ComboPooledDataSource();//设置连接参数dataSource.setDriverClass("com.mysql.jdbc.Driver");dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test");dataSource.setUser("root");dataSource.setPassword("root");

解释:ComboPooledDataSource类的四个变量分别为driverClass,jdbcUrl,user,password,这四个名字的是根据四个set方法setDriverClass,setJdbcUrl,setUser,setPassword,去掉set得到的,且将首字母大写改为小写。即setDriverClass,则name=“driverClass”。

  • 4个value:为参数赋值

4.测试是否成功连接上数据库

public void test4() throws Exception{//创建Spring容器对象ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");//获取ComboPooledDataSource类的对象(连接池数据源对象)DataSource dataSource = (DataSource) applicationContext.getBean("dataSource");//获取连接Connection connection = dataSource.getConnection();//打印连接System.out.println(connection);//连接放回连接池connection.close();
}

结果

com.mchange.v2.c3p0.impl.NewProxyConnection@4c40b76e

二、druid

1. 添加依赖

com.alibabadruid1.1.10

junitjunit 4.12test

org.springframeworkspring-context5.0.5.RELEASE

2. 在resources中创建applicationContext.xml文件

3. 在applicationContext.xml中创建druid数据源对象



标签解析

  • id:自己给该对象命名的唯一标签,dataSource1就是我命名的
  • class:创建的对象所属类的地址,我创建的是DruidDataSource类的对象,所以就是这个类的地址。如何获取类地址?点这里
  • 4个name:数据源参数的名字,根据类的相关变量的set方法命名。
 //创建数据源DruidDataSource dataSource = new DruidDataSource();//设置连接参数dataSource.setDriverClassName("com.mysql.jdbc.Driver");dataSource.setUrl("jdbc:mysql://localhost:3306/test");dataSource.setUsername("root");dataSource.setPassword("root");

解释:DruidDataSource 类的四个变量分别为driverClassName,url,username,password,这四个名字的是根据四个set方法setDriverClassName,setUrl,setUsername,setPassword,去掉set得到的,且将首字母大写改为小写。即setDriverClassName,则name=“driverClassName”。(与c3p0的name有所不同)

  • 4个value:为参数赋值

4.测试是否成功连接上数据库

public void test5() throws Exception{//创建Spring容器对象ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");//获取DruidDataSource类的对象(连接池数据源对象)DataSource dataSource = (DataSource) applicationContext.getBean("dataSource1");//获取连接Connection connection = dataSource.getConnection();//打印连接System.out.println(connection);//连接放回连接池connection.close();
}

结果

com.mysql.jdbc.JDBC4Connection@402e37bc

相关内容

热门资讯

重组胶原蛋白暗战:锦波生物背靠... 文 | 坤舆商业观察,作者 | 高见重组胶原蛋白,这个曾被视为小众科研的名词,正成为医美行业新的流量...
芯迈半导体IPO:小米宁王押注... 文 | 港股研究社近日,功率半导体企业芯迈半导体技术(杭州)股份有限公司(简称“芯迈半导体”)向港交...
解决社会不平等的中国可能 文 | 沈素明2024年,当大洋彼岸的精英们还在为3000人的“基本收入实验”争论不休,甚至撕破脸皮...
立体广告的“出圈”与“出格” 文 | 数字品牌榜前段时间,脉动将自家的立体广告投放到了全国各地的公交站,竟意外吵上了热搜。有网友觉...