深入理解Druid数据库连接池及其JDBC实现

需积分: 5 7 下载量 28 浏览量 更新于2024-10-27 收藏 15.45MB RAR 举报
资源摘要信息:"标题中提到的两个jar包分别是druid-1.1.8.jar和mysql-connector-java-5.1.37-bin.jar。druid-1.1.8.jar是阿里巴巴开源的一个数据库连接池,名为Druid。Druid是为了提供监控功能而设计的,具有强大的功能、高性能和良好的扩展性。它已经在阿里巴巴的600多个应用中得到部署,经过了包括双十一活动和春运抢票在内的大规模生产环境的考验。mysql-connector-java-5.1.37-bin.jar则是Java数据库连接器,用于连接MySQL数据库。JDBC是一种Java应用程序接口,用于规范Java程序访问数据库的方式,它提供了如查询和更新数据库数据等方法,适用于关系型数据库。 描述中提供了对Druid的详细介绍和对JDBC的定义。Druid是由阿里巴巴开发的数据库连接池,它被誉为监控功能强大,其性能和扩展性均超过其他数据库连接池,已经在中国最大的电商平台上得到广泛应用。JDBC,即Java Database Connectivity,是Java语言中用于访问数据库的标准接口。JDBC提供了一系列用于数据库操作的方法,如查询、插入、更新和删除等,它是面向关系型数据库的。 标签中的mysql、jar、java、数据库、database是对文件名称列表中jar包内容的概括,表明了这些jar包是与Java语言、MySQL数据库和数据库操作相关的。 压缩包子文件的文件名称列表中列出了三个文件:druid-1.1.8.jar、mysql-connector-java-5.1.37-bin.jar和druid-master.zip。其中,druid-1.1.8.jar和mysql-connector-java-5.1.37-bin.jar是Java应用程序包,用于在Java应用程序中集成Druid连接池和MySQL数据库。druid-master.zip是Druid数据库连接池的源代码压缩包,包含了Druid项目的所有源代码文件。" 知识点: 1. Druid数据库连接池:由阿里巴巴开源,特点是具备强大的监控功能、高性能和优秀的扩展性。它能够在生产环境中承载大规模的并发操作,尤其适用于需要高稳定性和监控能力的场景,如电商大促销和抢购活动。 2. JDBC(Java Database Connectivity):Java语言中用于连接和操作数据库的应用程序接口。JDBC定义了一组Java API,使得Java程序能够执行SQL语句进行数据库的查询和操作。它支持多种类型的数据库,是数据库操作的标准方式。 3. MySQL数据库连接器:mysql-connector-java-5.1.37-bin.jar是为Java程序访问MySQL数据库提供的一个驱动程序。它允许Java应用通过JDBC进行数据库的连接、查询和数据操作。 4. Java数据库连接(JDBC)驱动程序:指的是mysql-connector-java-5.1.37-bin.jar,用于实现Java应用程序与MySQL数据库之间的通信。 5. 数据库连接池技术:是一种特殊的数据库访问技术,目的是维护一定数量的数据库连接,供应用程序反复使用,以减少数据库连接创建和销毁的开销,提高程序的运行效率和数据库访问性能。 6. 数据库连接池的监控:由于Druid数据库连接池具备监控功能,它能够实时监控连接池的工作状态和性能指标,为开发者提供了数据库连接池的使用数据和性能瓶颈分析。 7. 压缩包文件格式:.jar和.zip。.jar文件通常用于打包Java程序中的类文件和相关的资源文件,而.zip文件是通用的压缩文件格式,可以包含任何类型的文件。 描述中提到的"druid-master.zip"暗示了Druid的源代码可能存储在该压缩包中。开发者可以使用这个压缩包来获取Druid数据库连接池的源代码,进行二次开发或学习其设计和实现的细节。
2023-06-07 上传

2023-07-08 09:25:45.129 ERROR 6944 --- [reate-504497704] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:mysql://localhost:3306/sky_take_out?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true, errorCode 1045, state 28000 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.30.jar:8.0.30] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.30.jar:8.0.30] at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828) ~[mysql-connector-java-8.0.30.jar:8.0.30] at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448) ~[mysql-connector-java-8.0.30.jar:8.0.30] at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~[mysql-connector-java-8.0.30.jar:8.0.30] at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) ~[mysql-connector-java-8.0.30.jar:8.0.30] at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1651) ~[druid-1.2.1.jar:1.2.1] at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1717) ~[druid-1.2.1.jar:1.2.1] at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2785) ~[druid-1.2.1.jar:1.2.1]

2023-07-09 上传

如何解决下面的错误?2023-07-15 14:20:55.827 ERROR 27660 --- [eate-1290795133] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:mysql://localhost:3306/reggie?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true, errorCode 1045, state 28000 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.23.jar:8.0.23] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.23.jar:8.0.23] at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:833) ~[mysql-connector-java-8.0.23.jar:8.0.23] at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:453) ~[mysql-connector-java-8.0.23.jar:8.0.23] at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) ~[mysql-connector-java-8.0.23.jar:8.0.23] at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) ~[mysql-connector-java-8.0.23.jar:8.0.23] at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644) ~[druid-1.1.23.jar:1.1.23] at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710) ~[druid-1.1.23.jar:1.1.23] at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2774) ~[druid-1.1.23.jar:1.1.23]

2023-07-16 上传