零基础掌握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日

相关文章

  • Java 其中翻转字符串的实现方法

    要实现Java中字符串翻转,有多种方法可以选择,包括使用for循环、StringBuilder和递归等。下面将分别介绍它们的实现方法: 使用for循环 使用for循环实现Java中字符串的翻转,可以先将字符串转换成字符数组,再使用两个指针分别从字符串的开头和结尾向中间遍历,每遍历一次,则将两个指针指向的字符互换位置,最终完成翻转。代码如下: public s…

    Java 2023年5月27日
    00
  • java基本教程之join方法详解 java多线程教程

    Java中的join()方法是多线程编程常用的一个方法,它的作用是让调用该方法的线程等待被调用线程执行完毕后再继续执行。本文将详细讲解join()方法的使用和注意事项。 什么是join()方法 在介绍join()方法之前,我们先回忆一下多线程的基础。在Java中,当创建一个线程对象并调用start()方法后,线程对象就会进入就绪状态,等待CPU分配时间片段并…

    Java 2023年5月18日
    00
  • Sprint Boot @ConditionalOnExpression使用方法详解

    @ConditionalOnExpression是Spring Boot中的一个注解,它用于根据表达式的结果来决定是否启用或禁用某个组件。在使用Spring Boot开发应用程序时,@ConditionalOnExpression是非常有用的。本文将详细介绍@ConditionalOnExpression的作用和使用方法,并提供两个示例说明。 @Condit…

    Java 2023年5月5日
    00
  • SpringBoot Security从入门到实战示例教程

    Spring Boot Security从入门到实战示例教程 Spring Boot Security是基于Spring Boot和Spring Security开发的一套web应用安全框架。它强化了基于Spring的应用程序的安全性,同时还保持了生产就绪型的特性。 以下是Spring Boot Security的入门到实战示例教程: 一、Spring Bo…

    Java 2023年5月19日
    00
  • 解析Java的Hibernate框架中的持久化类和映射文件

    解析Java的Hibernate框架中的持久化类和映射文件 Hibernate是一个Java平台的ORM框架,可以方便地进行对象和关系的映射,从而实现持久化操作。持久化类和映射文件是Hibernate框架中实现持久化操作的核心要素。本文将详细讲解解析Java的Hibernate框架中的持久化类和映射文件的完整攻略。 持久化类 持久化类是Hibernate框架…

    Java 2023年5月31日
    00
  • SpringBoot SpringSecurity JWT实现系统安全策略详解

    SpringBoot SpringSecurity JWT实现系统安全策略详解 1. 什么是JWT JWT(JSON Web Token)是一种用于认证的开放标准。可以基于HTTP协议上的Bearer认证方式对用户进行身份验证和授权。JWT由三部分组成:头部、载荷以及签名。 头部:包含了加密算法、哪种类型的token(例如,Bearer),可以使用什么类型的…

    Java 2023年6月3日
    00
  • java图论弗洛伊德和迪杰斯特拉算法解决最短路径问题

    Java图论:弗洛伊德和迪杰斯特拉算法解决最短路径问题 在图论中,最短路径问题是指在一张图中,从起始点到终点的所有路径中,具有最小路径权值的路径。本文将介绍Java语言中如何使用弗洛伊德和迪杰斯特拉算法解决最短路径问题。 弗洛伊德算法 弗洛伊德算法(Floyd算法)是一种通过动态规划解决所有最短路径的算法。该算法的时间复杂度为O(n^3),因此对于大型图而言…

    Java 2023年5月19日
    00
  • Java 代理(Proxy)的原理及应用

    下面是Java 代理(Proxy)的原理及应用的详细攻略: 什么是Java代理? Java代理是一种为其他对象提供代理服务的模式。代理是一种中介,它在客户端和实际对象之间起到缓冲的作用,使得客户端可以通过代理来访问对象。 Java代理的核心思想是:通过代理来访问实际对象,代理可以实现对实际对象的一些控制和管理,如访问控制、数据验证、安全控制等。 Java代理…

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