美文网首页
JDBC一连接数据库

JDBC一连接数据库

作者: 衣忌破 | 来源:发表于2019-08-09 15:30 被阅读0次

本文从以下几个方面介绍JDBC

  • 什么是JDBC?
  • 如何使用JDBC连接数据库?
  • JDBC的实现细节

一、什么是JDBC?

JDBC的全称为Java DataBase Connectivity,中文亦即java数据库连接。是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

JDBC简单来说就是用于操作数据库的Java API。

二、如何使用JDBC

假设环境已经搭建好,数据库驱动已经导入到项目中。

  • 方式一
public class DriverDemo {
    @Test
    public void testDriver() throws SQLException {
        //1. 创建一个 Driver 实现类的对象
        Driver driver = new com.mysql.jdbc.Driver();

        //2. 准备连接数据库的基本信息: url, user, password
        String url = "jdbc:mysql://192.168.136.128:3306/test";
        Properties info = new Properties();
        info.put("user", "root");
        info.put("password", "root");

        //3. 调用 Driver 接口的 connect(url, info) 获取数据库连接
        Connection connection = driver.connect(url, info);
        System.out.println(connection);
    }
}
  • 方式二
@Test
    public void testDriverManager() throws Exception{
        //1. 驱动的全类名
        String driverClass = "com.mysql.jdbc.Driver";
        //2. 准备连接数据库的基本信息: url, user, password
        String url = "jdbc:mysql://192.168.136.128:3306/test";
        String user = "root";
        String password = "root";

        //2. 加载数据库驱动程序(对应的 Driver 实现类中有注册驱动的静态代码块)
        Class.forName(driverClass);

        //3. 通过 DriverManager 的 getConnection() 方法获取数据库连接
        Connection connection =
                DriverManager.getConnection(url, user, password);
        System.out.println(connection);

    }

开发中一般使用的是方式二通过DriverManager去跟数据库连接,DriverManager是java.sql包下的一个类,内部维护着一个CopyOnWriteArrayList用于存放已经注册的驱动实例。之所以能getConnection(),是因为底层会循环遍历所有驱动,找到当前注册的驱动后调用driver.connect()获得Connection。设计的初衷就是为了支持注册多个(多种)驱动,通过DriverManager可以管理多个驱动程序。所以它叫“驱动管理器”(DriverManager)。

  • 对方式二做进一步优化
    把url、user、password、driver移到jdbc.properties文件中,做成可配置。
@Test
    public void getConnection() throws Exception{
        //1. 准备连接数据库的 4 个字符串.
        //1). 创建 Properties 对象
        Properties properties = new Properties();

        //2). 获取 jdbc.properties 对应的输入流
        InputStream in =
                this.getClass().getClassLoader().getResourceAsStream("jdbc.properties");

        //3). 加载 2) 对应的输入流
        properties.load(in);

        //4). 具体决定 user, password 等4 个字符串.
        String user = properties.getProperty("user");
        String password = properties.getProperty("password");
        String jdbcUrl = properties.getProperty("jdbcUrl");
        String driver = properties.getProperty("driver");

        //2. 加载数据库驱动程序(对应的 Driver 实现类中有注册驱动的静态代码块)
        Class.forName(driver);

        //3. 通过 DriverManager 的 getConnection() 方法获取数据库连接
        Connection connection = DriverManager.getConnection(jdbcUrl, user, password);

        System.out.println(connection);
    }

相关文章

  • JDBC一连接数据库

    本文从以下几个方面介绍JDBC 什么是JDBC? 如何使用JDBC连接数据库? JDBC的实现细节 一、什么是JD...

  • JDBC-数据库

    JDBC(Java DataBases Connectivity):Java语言连接数据库 JDBC的本质:一套接...

  • 刷题遇到的知识点(一)

    JDBC链接数据库用到的是桥接设计模式;JDBC连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码...

  • 第十七章 JDBC

    JDBC 一、JDBC访问数据库步骤 面试回答: ①加载JDBC驱动 ②创建数据库连接(Connection) ③...

  • java数据库管理之jdbc

    JDBC概念和数据库驱动程序 A: JDBC概念和数据库驱动程序•a: JDBC概述 ◦JDBC(Java Dat...

  • java数据库管理之jdbc

    JDBC概念和数据库驱动程序 A: JDBC概念和数据库驱动程序 a: JDBC概述 JDBC(Java Data...

  • java数据库管理之jdbc

    JDBC概念和数据库驱动程序 A: JDBC概念和数据库驱动程序a: JDBC概述JDBC(Java Data B...

  • java数据库管理之jdbc

    JDBC概念和数据库驱动程序 A: JDBC概念和数据库驱动程序a: JDBC概述JDBC(Java Data B...

  • java基础-day33-数据库连接

    JDBC 1. JDBC介绍 2. JDBC连接数据库所需的必要条件 3. JDBC连接MySQL数据库 3.1 ...

  • 2018-12-07JDBC连接数据库

    JDBC连接数据库 JDBC jmeter

网友评论

      本文标题:JDBC一连接数据库

      本文链接:https://www.haomeiwen.com/subject/cldhjctx.html