Java连接 JDBC基础知识(操作数据库:增删改查)

yizhihongxing

Java连接 JDBC基础知识(操作数据库:增删改查)

前言

在现代的 Web 开发中,数据库是一个非常重要的组成部分。而 Java 作为一种高度优秀的编程语言,有着丰富的数据库连接库和框架。其中,JDBC 就是 Java 数据库连接的一种基础技术,而其实现也是非常简单的。本文将介绍 JDBC 基础知识及其在操作数据库时的使用攻略。

JDBC 连接数据库

首先,我们需要先创建一个数据库。在本文中,我们使用 MySQL 数据库作为例子。以下是 MySQL 创建数据库的 SQL 语句:

CREATE DATABASE db_test;

在创建好数据库后,我们需要在该数据库中创建一张表。以下是 MySQL 创建表的 SQL 语句:

CREATE TABLE tb_test(
    id INT(11) NOT NULL AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL DEFAULT '',
    age TINYINT(4) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id`)
);

在创建好数据库和表之后,我们需要配置 JDBC 数据库连接驱动。在 MySQL 中,我们可以使用官方的 JDBC 驱动,其名称为 com.mysql.cj.jdbc.Driver。以下是 JDBC 数据库连接的示例代码:

import java.sql.*;

public class JdbcTest {

    public static void main(String[] args) {

        String url = "jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
        String username = "root";
        String password = "";

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection connection = DriverManager.getConnection(url, username, password);
            System.out.println("数据库连接成功!");
            connection.close();
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,url 的值为连接数据库的 URL 地址,其中 db_test 是我们创建的数据库名称,root 是 MySQL 数据库的默认用户名,密码为空。在建立数据库连接后,我们可以打印出提示信息,以确认连接是否有效。同时,在程序结束后,我们也需要关闭数据库连接。

JDBC 插入数据

接下来,我们将使用 JDBC 建立与 MySQL 数据库的连接,并插入数据到上述所创建的表中。首先,我们需要安装 MySQL 的 JDBC 驱动。在此,我们选择使用 Maven。

<!-- pom.xml -->
<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.26</version>
    </dependency>
</dependencies>

在安装完成 MySQL 的 JDBC 驱动后,我们可以在代码中通过以下方式进行插入数据操作:

import java.sql.*;

public class JdbcTest {

    public static void main(String[] args) {

        String url = "jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
        String username = "root";
        String password = "";

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection connection = DriverManager.getConnection(url, username, password);
            System.out.println("数据库连接成功!");

            Statement statement = connection.createStatement();
            String sql = "INSERT INTO tb_test (name, age) VALUES ('张三', 18)";
            statement.executeUpdate(sql);
            System.out.println("数据插入成功!");

            statement.close();
            connection.close();
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,我们首先创建了一个 Statement 对象,其可用于向数据库中发送 SQL 语句。接着,我们执行了一条 INSERT 语句,向表中插入了一条数据。在数据插入成功后,我们可以打印出提示信息,以供参考。

JDBC 查询数据

最后,我们需要使用 JDBC 查询数据,并输出表中的数据信息。以下是 JDBC 查询数据及输出的示例代码:

import java.sql.*;

public class JdbcTest {

    public static void main(String[] args) {

        String url = "jdbc:mysql://localhost:3306/db_test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
        String username = "root";
        String password = "";

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            Connection connection = DriverManager.getConnection(url, username, password);
            System.out.println("数据库连接成功!");

            Statement statement = connection.createStatement();
            String sql = "SELECT * FROM tb_test";
            ResultSet resultSet = statement.executeQuery(sql);

            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                int age = resultSet.getInt("age");
                System.out.printf("id=%d, name=%s, age=%d\n", id, name, age);
            }

            resultSet.close();
            statement.close();
            connection.close();
        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,我们首先使用了 executeQuery() 方法执行了一条 SELECT 语句,并获得了 ResultSet 对象。随后,我们可以通过 ResultSet 对象中的 next() 方法循环获取查询结果,并输出数据信息。

总结

本文介绍了 JDBC 连接数据库并操作数据的基础知识,并提供了相关示例代码。在开发过程中,我们需要注意以下几点:

  • 建立数据库连接时,我们需要指定数据库的 URL 地址。
  • 数据库操作时,我们需要先创建 Statement 对象,然后调用其中的方法。
  • 数据库查询时,查询结果需要通过 ResultSet 对象进行获取。

总的来说,JDBC 是 Java 连接数据库的一种基础技术,以上提供的内容如仅供参考,更多详细信息请自行查阅相关资料。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java连接 JDBC基础知识(操作数据库:增删改查) - Python技术站

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

相关文章

  • 一篇文章带你深入了解Java线程池

    一篇文章带你深入了解Java线程池 什么是线程池? 线程池是一个线程队列管理器,大大提高了多线程的处理效率。在开发中使用线程池可以避免多次创建和销毁线程带来的性能开销,提高程序的稳定性和性能表现。 Java中的线程池 Java中的线程池是由ThreadPoolExecutor和Executors来实现的,其中Executors是一个线程池的工厂类,提供了很多…

    Java 2023年5月18日
    00
  • IDEA基于支付宝小程序搭建springboot项目的详细步骤

    下面是“IDEA基于支付宝小程序搭建springboot项目的详细步骤”的完整攻略。 步骤一:下载安装开发环境 首先需要下载并安装以下开发工具: IDEA:用于Java项目开发的集成开发环境。 JDK:Java开发工具包,用于编译和运行Java代码。 支付宝小程序开发工具:用于开发和调试小程序的工具。 步骤二:创建Spring Boot项目 在IDEA中创建…

    Java 2023年5月19日
    00
  • java实现银行管理系统

    Java实现银行管理系统攻略 1. 系统需求分析 在进行银行管理系统的开发前,我们需要对系统的需求进行分析。一般来说,银行管理系统需要包含以下功能模块: 用户管理:包括客户注册、登录、修改个人信息等功能。 账户管理:包括账户开户、查询余额、转账、存取款等功能。 交易管理:包括交易流水记录、账户冻结与解冻等功能。 系统管理:包括管理员登录、账号管理、数据备份等…

    Java 2023年5月19日
    00
  • Javascript字符串常用方法详解

    这里是“Javascript字符串常用方法详解”的完整攻略。 1. 概述 在JavaScript中,字符串是一种基本的数据类型。字符串常常用于文本处理、表单验证、数据格式化等场景。JavaScript提供了许多字符串操作方法,可以让我们快速、灵活地处理字符串。 2. 常用方法 2.1 字符串的length属性 字符串的length属性可以获取字符串的长度,即…

    Java 2023年5月27日
    00
  • 详解 Java中日期数据类型的处理之格式转换的实例

    下面是详解Java中日期数据类型的处理之格式转换的实例的完整攻略。 前言 在Java中,常用的日期数据类型有java.util.Date和java.time.LocalDateTime等。在处理日期时,我们有时需要把日期按照一定的格式进行转换,例如将2022-01-01转换成2022年01月01日。本文将对Java中日期格式转换进行详细讲解,并提供具体的代码…

    Java 2023年5月20日
    00
  • Java正则表达式处理特殊字符转义的方法

    当我们使用Java正则表达式处理字符串时,需要注意特殊字符的转义问题。下面是处理特殊字符转义的方法,包括两个示例说明: 1.将特殊字符用反斜杠转义 在Java正则表达式中,一些特殊字符具有特殊含义,比如.需要匹配除了换行符以外的任意字符,而不是只匹配.字符。所以,我们需要使用反斜杠(\)将这些特殊字符转义,表示想要匹配这些特殊字符而非具有特殊含义。 例如,要…

    Java 2023年5月27日
    00
  • apache简介_动力节点Java学院整理

    Apache简介——动力节点Java学院整理 什么是Apache Apache是一种开源的、跨平台的Web服务器软件。它最初由美国国家超级电脑应用中心(NCSA)开发,随后成为了Apache软件基金会的一项开源软件项目。它可以运行在几乎所有包括Windows、Linux、Unix、MacOS在内的操作系统上。目前,Apache已成为世界上最流行的Web服务器…

    Java 2023年6月2日
    00
  • Java 对象序列化 NIO NIO2详细介绍及解析

    Java 对象序列化 NIO NIO2详细介绍及解析 本文将从以下三个方面详细介绍Java中的对象序列化、NIO和NIO2: Java对象序列化 NIO NIO2 Java对象序列化 Java对象序列化是指将Java对象转换为字节流,以便在网络上传输或在本地保存到文件中。 Java中的对象序列化可以通过序列化(Serialization)API来实现,包括S…

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