IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Druid数据库连接池技术的实现与常见错误 -> 正文阅读

[大数据]Druid数据库连接池技术的实现与常见错误

第一步,win+R cmd进入到doc窗口,敲入mysql -V
一定要查看你mysql数据库的版本!!(以下是博主的)
在这里插入图片描述
mysql5.6使用的是 mysql-connector-java-5.1.26-bin.jar
更高的mysql版本需要使用 mysql-connector-java-8.0.19.jar(最新版本)数据库版本不对应会导致连接失败的。
mysql-connection-java的jar包 官网下载点击
在这里插入图片描述
不用登录,直接下载在这里插入图片描述在这里插入图片描述

如果你不想下载最新版本,点击Archives即可
在这里插入图片描述
在这里插入图片描述
下载完毕就要导入jar包 如图所示你正确导入包之后会出现小三角符号。
在这里插入图片描述
第二步,写好配置文件jdbc.properties,分两种:

#这个是mysql5.5版本的配置文件
username=用户名
password=密码
#url 注意这个book 表示你要连接的数据库
url=jdbc:mysql://localhost:3306/book
driverClassName=com.mysql.jdbc.Driver
initialSize=5
maxActive=5
#这个是mysql更高版本的配置文件
username=用户名
password=密码
#url 注意这个book表示你要连接的数据库
url=jdbc:mysql://localhost:3306/book?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false
driverClassName=com.mysql.cj.jdbc.Driver
initialSize=5
maxActive=5

以上如果配置文件写的不对也会报错。
最后,直接上阿里Druid数据库连接池静态代码块

public class JavaUtils {   //实现数据库连接和关闭的封装 体会Java编程的思想
    private static DruidDataSource dataSource;

    static {

        try {
            // 读取jdbc.properties属性的配置文件
            Properties properties = new Properties();
            //从流中加载数据
            InputStream inputStream = JavaUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");

            properties.load(inputStream);

            dataSource = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties);
            System.out.println(dataSource.getConnection());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {

    }
  /*  关闭连接 放回数据库连接池*/
    public static void closeSources(PreparedStatement ps, Connection con) {
        try {
            if (ps != null)
                ps.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            if (con != null)
                con.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

然后我又遇到的错误了 ,原因是配置文件的路径不对而报错(而且是疯狂爆红一直不停的那种)。
在这里插入图片描述
如果遇到报空指针异常,原因错误也很简单,我当时dataSource对象没有new出来却用它来调用方法,本人也尝试一直打断点调试找bug但没找到原因,归根结底是我没有好好理解每一行代码的含义,就一直拿着错误去百度,花了很多时间,也算是积累了经验教训了。如果出现以下就算连接成功。但当看到红字我以为又失败了哈哈
在这里插入图片描述
其实我之前用jdbc连接数据库是没有什么毛病的,但是我们要知道:
在这里插入图片描述
在这里插入图片描述
以上两张图片摘自尚硅谷宋红康jdbc核心技术。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-01-08 14:05:51  更:2022-01-08 14:06:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/20 2:19:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码