zoukankan      html  css  js  c++  java
  • 【大白话系列】MySQL 学习总结 之 Java系统如何和 MySQL 打交道?

    一、MySQL驱动

    我们如果在 Java 系统里要访问 MySQL,我们只需要引入一个 MySQL 的驱动即可,然后通过 MySQL 驱动和 MySQL 进行网络通信,对数据库表进行各种增删改查的操作。

    二、如何引入 MySQL 驱动

    1、以前的老旧方法:
    我们会找到 MySQL 驱动的 jar 包,然后放到项目中的 lib 文件夹里头。

    2、现在比较高级的方法 :
    可以直接使用 Maven 或者 Gradle 引入 MySQL 驱动的依赖。
    maven:

    <dependencies>
      <dependency>
         <groupId>MySQL</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>5.1.46</version>
      </dependency>
    </dependencies>
    
    

    gradle:

    dependencies{
      compile ("mysql:mysql-connector- java:5.1.24")
    }
    

    三、客户端连接池

    1、争抢数据库连接:
    上面说到,我们是通过 MySQL 驱动和 MySQL 进行网络通信,既然是网络通信,那么就会有一条数据库连接在。
    我们的系统当然不可能每秒只有一条请求过来,那么就会存在多个请求去争抢一个数据库连接,没抢到的还需要排队等候,这是相当降低接口的执行性能的。

    2、重复创建和断开:
    当请求执行完了,数据库连接必定会断开连接。而当新的请求过来,又要重新创建一个新的数据库连接,所以这里会出现重复创建和断开数据库连接,而创建和断开操作都很耗时的。

    3、连接池机制:
    这时候就会出现数据库连接池的机制,他会在池子里维持多个数据连接,让多个线程使用里面的不同的数据库连接去执行SQL语句,然后执行完SQL语句之后,不要销毁这个数据库连接,而是把连接放回池子里,后续还可以继续使用。

    4、常见的数据库连接池:
    DBCP、C3P0、Druid,HikariCP等等。

    四、MySQL 的数据库连接池

    1、维护多个连接:
    MySQL 的数据库连接池就是维护了与系统之间的多个数据库连接。

    2、验证:
    除此之外,系统每次和 MySQL 建立连接池,连接池会进行帐号密码的验证和库表权限的验证。

  • 相关阅读:
    JavaScript中Null和Undefined的区别
    javascript中的计算题
    数组去重
    javascript面向对象中继承实现的几种方式
    数列求值 题解
    首字母变大写 题解
    发工资咯:) 题解
    绝对值排序 题解
    数列有序 题解
    母牛的故事 题解
  • 原文地址:https://www.cnblogs.com/Howinfun/p/12273892.html
Copyright © 2011-2022 走看看