JDBC如何获取数据库连接

yizhihongxing

JDBC是Java的一种用于操作关系型数据库(如MySQL、Oracle、SQL Server等)的API,其中与获取数据库连接相关的类和接口都可以在java.sqljavax.sql包中找到。

下面是使用JDBC获取数据库连接的完整攻略:

1. 导入JDBC驱动程序

使用JDBC访问数据库时,需要下载并导入相应的数据库驱动程序。此处以MySQL为例说明,下载并导入MySQL的JDBC驱动程序的方法如下:

直接下载JDBC驱动包,然后将其复制到项目中:

$ wget https://dev.mysql.com/downloads/connector/j/8.0/mysql-connector-java-8.0.23.tar.gz
$ tar -zxvf mysql-connector-java-8.0.23.tar.gz
$ cp mysql-connector-java-8.0.23/mysql-connector-java-8.0.23.jar <项目路径>

或使用Maven依赖:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.23</version>
</dependency>

2. 注册JDBC驱动程序

使用JDBC访问数据库时,需要先注册JDBC驱动程序。如果使用的是MySQL,注册代码如下:

try {
    Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
    e.printStackTrace();
}

相当于在类路径中查找并加载MySQL驱动程序。如果注册成功,则会将该驱动程序中的Driver类注册到java.sql.DriverManager中。

3. 获取数据库连接

JDBC通过DriverManager类来管理数据库驱动程序和数据库连接。获取数据库连接的代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBUtils {
    private static final String URL = "jdbc:mysql://localhost:3306/test";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "root";

    /**
     * 获取数据库连接
     * @return 数据库连接
     */
    public static Connection getConnection() {
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
}

以上代码封装了获取数据库连接的方法,URL、USERNAME和PASSWORD为连接MySQL数据库的必要参数。如果需要连接其他数据库,URL中的协议、主机名、端口号、数据库名等参数需要相应改变。

4. 示例说明

以下为两条示例说明:

示例1

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Demo {
    public static void main(String[] args) {
        Connection conn = DBUtils.getConnection();
        try {
            PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM user WHERE name = ?");
            pstmt.setString(1, "Tom");
            ResultSet rs = pstmt.executeQuery();
            while (rs.next()) {
                System.out.println(rs.getInt("id") + ", " + rs.getString("name") + ", " + rs.getString("password"));
            }
            rs.close();
            pstmt.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

以上代码使用DBUtils类中的方法获取数据库连接,然后通过PreparedStatement对象实现对数据库的查询操作。

示例2

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Demo {
    public static void main(String[] args) {
        Connection conn = DBUtils.getConnection();
        try {
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM user");
            while (rs.next()) {
                System.out.println(rs.getInt("id") + ", " + rs.getString("name") + ", " + rs.getString("password"));
            }
            rs.close();
            stmt.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

以上代码使用DBUtils类中的方法获取数据库连接,然后通过Statement对象实现对数据库的查询操作。

综上所述,使用JDBC获取数据库连接的攻略经过了以下步骤:导入JDBC驱动程序、注册JDBC驱动程序、获取数据库连接。并给出了以上步骤的具体示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JDBC如何获取数据库连接 - Python技术站

(0)
上一篇 2023年6月16日
下一篇 2023年6月16日

相关文章

  • java虚拟机原理:Class字节码二进制文件分析

    Java虚拟机原理:Class字节码二进制文件分析 什么是Class字节码? Java源代码最终被编译成一种被称为Java虚拟机字节码的特定格式。Java虚拟机会解析这些字节码并在运行时生成二进制机器指令。这就是为什么Java是一种跨平台的编程语言,因为它的源代码可以在不同类型的计算机上运行。 Class文件包括类或接口的信息,类加载器读取Class文件并将…

    Java 2023年5月19日
    00
  • Java面试经验+最新BAT面试资料分享给大家(小结)

    Java面试经验+最新BAT面试资料分享给大家(小结) 这篇文章将帮助大家准备BAT公司的Java面试,希望对大家有所帮助。 程序员面试的模式 程序员面试一般分为以下几轮: 简历筛选 笔试 技术面试 综合素质面试 HR面试 针对每一轮面试,我们都需要做好充足的准备。 简历筛选 在简历筛选阶段,我们需要注意以下几个点: 简历的格式需要清晰简洁,突出重点 突出自…

    Java 2023年5月20日
    00
  • Java实现常用的三种加密算法详解

    Java实现常用的三种加密算法详解 在现今的网络环境中,数据安全越来越重要。加密算法就是保证数据安全的重要手段之一。在Java语言中,实现常用的三种加密算法十分方便。这里将分别介绍Java中常用的MD5、SHA和AES加密算法的实现方法。 1. MD5加密 MD5(Message-Digest Algorithm 5)算法是一种常用的摘要算法,可以将任意长度…

    Java 2023年5月19日
    00
  • Java中线程状态+线程安全问题+synchronized的用法详解

    下面是Java中线程状态、线程安全问题以及synchronized的用法详解,包含示例说明: Java中线程状态 Java中的线程状态主要有以下五种: 新建状态(New):线程对象被创建后,但还没有调用start()方法时,线程处于新建状态。 运行状态(Runnable):当线程对象调用start()方法后,线程就处于运行状态。在运行状态下,线程会不断地执行…

    Java 2023年5月19日
    00
  • Java SpringBoot核心源码详解

    Java SpringBoot核心源码详解 简介 本篇攻略主要讲解Java SpringBoot核心源码的相关内容,详细解析SpringBoot框架的设计和实现原理。同时,为了让读者更加深入理解,我们将通过两条示例代码来解释相关概念。 SpringBoot框架基础 SpringBoot框架基于Spring框架之上,通过提供许多默认配置和简化部署流程等功能,让…

    Java 2023年5月15日
    00
  • Storm框架整合springboot的方法

    下面是详细的Storm框架整合Spring Boot的方法: 1. 在Spring Boot项目中添加Storm依赖 首先需要在Spring Boot项目的pom.xml中添加Storm的依赖。在<dependencies>标签内添加以下内容: <dependency> <groupId>org.apache.storm&…

    Java 2023年5月15日
    00
  • Java Hibernate使用SessionFactory创建Session案例详解

    下面是详细讲解“Java Hibernate使用SessionFactory创建Session案例详解”的攻略,包括了相关的示例代码。 什么是SessionFactory? SessionFactory是Hibernate框架中一个重要的接口,用来创建Session。在使用Hibernate进行开发时,我们通常都会使用SessionFactory来获取一个S…

    Java 2023年5月19日
    00
  • 详解记录Java Log的几种方式

    详解记录Java Log的几种方式 在Java应用程序中,日志记录是非常重要的,它提供了一种检测应用程序中可能出现的问题的方法,也为开发人员调试代码提供了可靠的依据。本文将详细讲解Java日志记录的几种方式、优缺点以及示例。 系统输出 Java中最简单的日志记录机制就是通过系统输出来打印日志消息。我们可以利用Java标准库中的System.out.print…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部