MySQL为例讲解JDBC数据库连接步骤

MySQL为例讲解JDBC数据库连接步骤

JDBC简介

JDBC(Java Database Connectivity)是一种Java语言中访问数据库的API(Application Programming Interface)。

JDBC可以让Java程序连接到各种关系型数据库,进行数据的读取、写入操作等。JDBC的设计目标是使Java程序员从不同的关系型数据库中访问和处理数据,以作为一个独立的数据管理层。

准备工作

在使用JDBC之前,需要先在项目中引入JDBC驱动包。以MySQL为例,可以从官网 https://dev.mysql.com/downloads/connector/j/下载对应的驱动包。

下载完成后,将驱动包添加到项目的classpath路径下。

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>${mysql.version}</version>
</dependency>

步骤

连接数据库的步骤可以分为以下几步:

  1. 加载数据库驱动
  2. 获取数据库连接
  3. 创建statement对象
  4. 执行SQL语句
  5. 处理查询结果
  6. 关闭各种连接

下面是一个简单的示例:

import java.sql.*;

public class JdbcDemo {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            // 加载数据库驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            // 获取数据库连接
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname?", "root", "password");
            // 创建statement对象
            stmt = conn.createStatement();
            // 执行SQL语句
            rs = stmt.executeQuery("select * from student");
            // 处理查询结果
            while (rs.next()) {
                String name = rs.getString("name");
                String age = rs.getString("age");
                System.out.println("name: " + name + ", age: " + age);
            }
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭各种连接
            try {
                if (rs != null) {
                    rs.close();
                }
                if (stmt != null) {
                    stmt.close();
                }
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

示例2

下面是一个带参数查询的示例:

import java.sql.*;

public class JdbcDemo2 {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        try {
            // 加载数据库驱动
            Class.forName("com.mysql.cj.jdbc.Driver");
            // 获取数据库连接
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname?", "root", "password");
            // 创建statement对象
            String sql = "select * from student where age > ?";
            stmt = conn.prepareStatement(sql);
            // 设置参数
            stmt.setString(1, "20");
            // 执行SQL语句
            rs = stmt.executeQuery();
            // 处理查询结果
            while (rs.next()) {
                String name = rs.getString("name");
                String age = rs.getString("age");
                System.out.println("name: " + name + ", age: " + age);
            }
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭各种连接
            try {
                if (rs != null) {
                    rs.close();
                }
                if (stmt != null) {
                    stmt.close();
                }
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

总结

JDBC可以帮助我们很方便地访问各种关系型数据库,但在使用中需要注意关闭各种连接,以避免资源占用过程中可能的问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL为例讲解JDBC数据库连接步骤 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • JAVA基础之控制台输入输出的实例代码

    JAVA基础之控制台输入输出的实例代码 本文将介绍JAVA语言中,如何利用控制台进行输入输出操作。首先需要理解Java标准I/O流的概念,Java的I/O流分为两种:字节流和字符流。字节流以字节为单位进行操作,字符流以字符为单位进行操作。在控制台输入输出中,一般使用字符流,使用InputStreamReader和OutputStreamWriter将字节流转…

    Java 2023年5月30日
    00
  • 新浪java面试经历与感慨分享

    新浪Java面试经历与感慨分享 背景介绍 该经历来自一位Java开发者在新浪公司的面试经历,分享该经历希望能够帮助其他准备面试的开发者,提高他们的面试成功率。 面试前准备 为了顺利通过面试,个人认为主要需要做好以下几个准备: 1. 掌握基础知识 在面试中,基础知识是最重要的。需要熟悉Java核心技术,如集合、IO流等,在掌握基本语法的基础上,对Java底层原…

    Java 2023年5月26日
    00
  • SSH框架实现表单上传图片实例代码

    下面我会详细讲解 “SSH框架实现表单上传图片实例代码”的完整攻略。 1. 前期准备工作 在进行表单上传图片代码实现之前,你需要了解以下几个重要的知识点: SSH框架的基本概念和使用方法 MultipartFile类型的文件上传方式 前端表单的设计和提交 2. 后台代码实现 2.1. 建立控制器 首先我们需要在后台建立一个控制器来接收前端传来的文件并完成上传…

    Java 2023年5月20日
    00
  • Java序列化JSON丢失精度问题的解决方法(修复Long类型太长)

    Java序列化JSON丢失精度问题的解决方法(修复Long类型太长) 问题描述 在使用Java自带的GSON等JSON序列化工具时,会出现Long类型数据过长而丢失精度的问题,导致数据不准确或错误。例如,当Long类型数字过大时,就无法正确表示,例如Long.MAX_VALUE加1即可出现此问题。这种情况会导致传输的数据与实际值出现差异,影响数据的准确性。 …

    Java 2023年5月26日
    00
  • Java中从键盘输入多个整数的方法

    题目:Java中从键盘输入多个整数的方法 为了方便解释,我们假设从键盘读入的多个整数用空格隔开,并且输入的整数个数是不确定的。 我们可以通过如下步骤实现从键盘输入多个整数: 导入Scanner类 在Java中,从键盘读取数据需要使用java.util包中的Scanner类。因此,我们需要在文件开头加上以下语句: import java.util.Scanne…

    Java 2023年5月26日
    00
  • 使用Java实现5种负载均衡算法实例

    使用Java实现5种负载均衡算法的完整攻略如下: 算法简介 负载均衡是指将请求分配到多个服务器上以达到最大化利用每个服务器的目的。在实际应用中,常用的负载均衡算法有很多种,常见的有以下五种: 轮询算法:按照服务器列表中的顺序依次将请求分配到每台服务器上,然后再从头开始,循环分配请求。轮询算法适用于所有的服务器具有相同的处理能力并且请求量相差不大的情况。 随机…

    Java 2023年5月18日
    00
  • Java调用groovy实现原理代码实例

    Java调用Groovy实现原理的主要步骤包括:加载Groovy脚本、编译Groovy脚本、实例化Groovy对象、调用Groovy对象方法。 以下是一个简单示例,演示如何通过Java调用Groovy代码: 编写Groovy脚本 class Greeting { String greet(String name) { return "Hello $…

    Java 2023年5月26日
    00
  • spring与mybatis整合配置文件

    整合Spring和MyBatis可以提高应用程序的可扩展性和可维护性。下面是在Spring项目中如何整合MyBatis的完整攻略: 1.添加依赖 首先,需要在pom.xml文件中引入mybatis-spring依赖。 <!– MyBatis-Spring Integration –> <dependency> <groupI…

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