零基础掌握JDBC操作MySQL

零基础掌握JDBC操作MySQL

什么是JDBC?

JDBC全称为Java Database Connectivity,即Java数据库连接。JDBC API提供了一个标准接口来与各种关系型数据库进行交互。

JDBC操作MySQL的步骤

步骤1:加载JDBC驱动程序

在使用JDBC连接MySQL之前,需要先加载JDBC驱动程序。MySQL官方提供了JDBC驱动程序,下载地址为:https://dev.mysql.com/downloads/connector/j/

下载后将其放在classpath下。

Class.forName("com.mysql.jdbc.Driver");

步骤2:连接MySQL数据库

在加载JDBC驱动程序之后,就可以通过DriverManager.getConnection()方法连接到MySQL数据库。

String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);

步骤3:创建Statement对象

创建Statement对象用于向MySQL发送SQL语句。

Statement stmt = conn.createStatement();

步骤4:执行SQL语句

执行SQL语句有两种方法,一种是Statement对象的executeQuery()方法用于执行查询语句,返回一个ResultSet结果集;另外一种是executeUpdate()方法用于执行更新语句(如insert、update、delete等),返回一个int类型的值,表示影响的行数。

// 查询语句
String sql = "select * from user";
ResultSet rs = stmt.executeQuery(sql);

// 更新语句
String sql = "insert into user (name, age) values ('张三', 18)";
int affectedRows = stmt.executeUpdate(sql);

步骤5:处理结果

如果执行的是查询语句,需要遍历ResultSet结果集;如果是更新语句,则可以直接通过executeUpdate()返回的影响行数判断操作是否成功。

// 查询语句结果处理示例
while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
    int age = rs.getInt("age");
    System.out.println("id:" + id + ",姓名:" + name + ",年龄:" + age);
}

// 更新语句结果处理示例
if (affectedRows > 0) {
    System.out.println("插入成功");
} else {
    System.out.println("插入失败");
}

示例1:查询user表中的数据并输出

public class SelectDemo {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // 加载JDBC驱动程序
        Class.forName("com.mysql.jdbc.Driver");

        // 连接MySQL数据库
        String url = "jdbc:mysql://localhost:3306/test";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, username, password);

        // 创建Statement对象
        Statement stmt = conn.createStatement();

        // 执行查询语句
        String sql = "select * from user";
        ResultSet rs = stmt.executeQuery(sql);

        // 处理结果
        while (rs.next()) {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            int age = rs.getInt("age");
            System.out.println("id:" + id + ",姓名:" + name + ",年龄:" + age);
        }

        // 关闭连接
        rs.close();
        stmt.close();
        conn.close();
    }
}

示例2:插入一条数据到user表中

public class InsertDemo {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        // 加载JDBC驱动程序
        Class.forName("com.mysql.jdbc.Driver");

        // 连接MySQL数据库
        String url = "jdbc:mysql://localhost:3306/test";
        String username = "root";
        String password = "123456";
        Connection conn = DriverManager.getConnection(url, username, password);

        // 创建Statement对象
        Statement stmt = conn.createStatement();

        // 插入数据
        String sql = "insert into user (name, age) values ('张三', 18)";
        int affectedRows = stmt.executeUpdate(sql);

        // 处理结果
        if (affectedRows > 0) {
            System.out.println("插入成功");
        } else {
            System.out.println("插入失败");
        }

        // 关闭连接
        stmt.close();
        conn.close();
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:零基础掌握JDBC操作MySQL - Python技术站

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

相关文章

  • SpringBoot使用ApplicationEvent&Listener完成业务解耦

    下面将详细讲解“SpringBoot使用ApplicationEvent&Listener完成业务解耦”的完整攻略。 什么是ApplicationEvent&Listener? ApplicationEvent 和 ApplicationListener 是 Spring framework 为我们提供的一种应用级别的事件和监听机制,通过这种…

    Java 2023年5月19日
    00
  • java.util.concurrent.ExecutionException 问题解决方法

    当使用Java并发编程时,可能会遇到java.util.concurrent.ExecutionException异常。这种异常通常由调用一个返回Future类型的方法所引起,该方法启动一个异步任务,等待任务返回结果。在调用Future的get()方法获取结果时,如果任务执行过程中发生异常,那么get()方法会将异常包装在ExecutionException…

    Java 2023年5月19日
    00
  • java 两阶段终止线程的正确做法

    Java中线程的终止一直是个比较重要的话题,如果终止线程不当,可能会导致内存泄漏、死循环等问题。本文将详细介绍Java中两阶段终止线程的正确做法,并且提供两个示例进行说明。 什么是两阶段终止模式 两阶段终止模式是指在终止线程时采用两个阶段的方式进行终止,第一阶段发送一个中断信号以告诉线程需要终止,第二阶段等待线程终止。 两阶段终止模式的主要原理是,在第一阶段…

    Java 2023年5月19日
    00
  • 用Java实现简单计算器功能

    下面是用Java实现简单计算器功能的完整攻略。 1. 准备工作 在开始之前,你需要安装Java开发环境(JDK)并确保其能够正常运行。除此之外,你还需要对基本的Java语法有一定的了解。 2. 实现过程 2.1 创建一个计算器类 首先,我们需要创建一个计算器类,用于存储计算器的属性和方法。在这个类中,我们需要定义两个私有属性num1和num2,表示计算器中要…

    Java 2023年5月18日
    00
  • Java多线程开发工具之CompletableFuture的应用详解

    Java多线程开发工具之CompletableFuture的应用详解 什么是CompletableFuture CompletableFuture是JDK 8中引入的一个新的异步编程工具,它支持异步计算和任务链式调用,可以方便地编写出高效的异步代码。它提供了一套完成器API,可以在任务完成后通过回调函数对结果进行操作。 CompletableFuture的用…

    Java 2023年5月19日
    00
  • Linux小技巧分享之如何重新启动tomcat

    接下来我将详细讲解关于“Linux小技巧分享之如何重新启动tomcat”的完整攻略。 什么是Tomcat? Tomcat是一个广泛使用的开源Web服务器,具备Servlet和JSP规范,由Apache基金会维护。 为什么需要重新启动Tomcat? 当我们修改了Tomcat中的配置文件或者部署了新的代码后,我们需要重新启动Tomcat才能使这些变更生效。 如何…

    Java 2023年6月2日
    00
  • Spring AOP实现功能权限校验功能的示例代码

    让我来为您介绍一下Spring AOP实现功能权限校验的攻略。 简介 Spring AOP是Spring框架中的一个模块,可以实现面向切面编程(AOP)的功能。通过Spring AOP可以实现功能权限校验的功能,实现对用户的操作进行安全控制并保护业务数据的安全性。 实现步骤 步骤一:定义权限校验的切面 在Spring AOP中,切面是对应用程序中横切关注点的…

    Java 2023年5月20日
    00
  • Idea如何导入一个SpringBoot项目的方法(图文教程)

    下面我将详细讲解Idea如何导入一个SpringBoot项目的方法。 1. 创建SpringBoot项目 首先,我们需要创建一个SpringBoot项目,这里以使用Spring Initializr来创建为例。打开https://start.spring.io/,根据需求选择相应的配置,然后点击Generate下载生成的项目压缩包。解压后我们就得到了一个基本…

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