栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring数据库连接 - Druid、c3p0

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring数据库连接 - Druid、c3p0

数据库连接
  • 数据库连接 - 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文件"
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/876896.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号