数据库连接
- 数据库连接 - Druid
- 1、在pom.xml中导入坐标,并刷新Maven
- 2、配置bean
- 3、测试是否能够成功连接到数据库
- 4、测试结果
- 数据库连接 - c3p0
- 1、在pom.xml文件中导入c3p0坐标
- 2、配置bean,并完成注入
- 3、编写代码测试
- 4、测试结果
- 小结
数据库连接 - Druid
1、在pom.xml中导入坐标,并刷新Maven
com.alibaba
druid
1.1.17
- 如果不清楚想要导入依赖的坐标信息,可以在Maven Repository网站查询。
2、配置bean
- 因为“DruidDataSource”类中没有提供合适的构造器注入方法,但是提供了setter注入方法,所以我们在注入时只能选择setter注入的方式。
- 进行数据库连接时,通常都要配置四个属性:driver驱动地址,url,用户名和密码。但是不同的数据库连接池的命名有时是不同的,可以百度或查看源码的方式获取到具体的名称。
- 虽然不同的数据库连接池的命名有所不同,但是注入过程还是相同的。
3、测试是否能够成功连接到数据库
public class App {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
DruidDataSource druidDataSource = (DruidDataSource) context.getBean("druidDataSource");
System.out.println(druidDataSource);
}
}
4、测试结果
{
CreateTime:"2022-05-12 08:33:09",
ActiveCount:0,
PoolingCount:0,
CreateCount:0,
DestroyCount:0,
CloseCount:0,
ConnectCount:0,
Connections:[
]
}
- 能够成功打印出创建的数据库对象信息,说明成功连接到了数据库。
数据库连接 - c3p0
1、在pom.xml文件中导入c3p0坐标
c3p0
c3p0
0.9.1.2
mysql
mysql-connector-java
8.0.28
- 除了导入"c3p0"坐标外,还需要导入"mysql-connector-java"坐标,否则运行会报"Could not load driverClass com.mysql.jdbc.Driver"异常。
2、配置bean,并完成注入
- 还是配置相同的属性,druid和c3p0的命名就有很大的区别。
3、编写代码测试
public class App {
public static void main(String[] args) {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
ComboPooledDataSource comboPooledDataSource = (ComboPooledDataSource) context.getBean("comboPooledDataSource");
System.out.println(comboPooledDataSource);
}
}
4、测试结果
com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null...
小结
- 数据库连接操作在开发过程中是非常常用的。通过我们都会配置"driver驱动"、“url”、“username"、“password”。如上述测试所示,不同的数据库连接池对于属性命名时不同的,所以在配置需要注意命名问题。
- 当然,在开发过程中,我们不会直接将value写入,而是通过加载properties配置文件的方法,将值使用${}符动态读入,相关内容见下一篇文章"加载properties文件"