MySQL数据库 JDBC 编程(Java 连接 MySQL)

MySQL数据库 JDBC 编程(Java 连接 MySQL)攻略

1. 准备工作

在进行 MySQL JDBC 编程前,我们需要完成以下准备工作:

1.1 安装 MySQL 数据库

MySQL 数据库官网提供了各个平台下的安装包,我们可以根据自己的操作系统下载并安装 MySQL 数据库。

1.2 下载 MySQL JDBC 驱动

MySQL JDBC 驱动是连接 MySQL 数据库的重要工具,我们需要从官网下载稳定的 JDBC 驱动并放到 Java 项目的 classpath 路径下。

1.3 创建数据库和表

通过 MySQL 客户端或者第三方工具创建数据库和表,并在表中添加一些数据。

2. 编写 JDBC 程序

2.1 导入 JDBC 包

我们需要在 Java 项目中导入 JDBC 包,以便使用 JDBC 相关的类和方法。

import java.sql.*;

2.2 创建连接

在 JDBC 编程中,我们需要通过 DriverManger 类创建一个连接。需要传入的参数有数据库的 URL、用户名和密码。

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

2.3 创建 Statement

通过 Connection 对象的 createStatement() 方法创建 Statement 对象,以便后续对数据库进行操作。

Statement stmt = conn.createStatement();

2.4 执行 SQL 语句

通过 Statement 对象的 executeQuery() 方法执行 SQL 语句并返回结果集。

String sql = "SELECT * FROM mytable";
ResultSet rs = stmt.executeQuery(sql);

2.5 处理结果集

通过 ResultSet 对象的 getXXX() 方法获取结果集中的数据。

while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
    int age = rs.getInt("age");
    System.out.println("id: " + id + ", name: " + name + ", age: " + age);
}

2.6 关闭连接和 Statement

在 JDBC 编程中,我们需要在完成操作后关闭连接和 Statement。可以在 finally 块中关闭连接和 Statement。

if (rs != null) {
    rs.close();
}
if (stmt != null) {
    stmt.close();
}
if (conn != null) {
    conn.close();
}

3. 示例

下面给出两个 Java 连接 MySQL 数据库的示例。

3.1 查询数据

import java.sql.*;

public class QueryData {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydatabase";
        String user = "root";
        String password = "password";
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
            conn = DriverManager.getConnection(url, user, password);
            stmt = conn.createStatement();
            String sql = "SELECT * FROM mytable";
            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: " + name + ", age: " + age);
            }
        } catch (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();
            }
        }
    }
}

3.2 插入数据

import java.sql.*;

public class InsertData {
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydatabase";
        String user = "root";
        String password = "password";
        Connection conn = null;
        Statement stmt = null;
        try {
            conn = DriverManager.getConnection(url, user, password);
            stmt = conn.createStatement();
            String sql = "INSERT INTO mytable (name, age) VALUES ('Alice', 20)";
            int rows = stmt.executeUpdate(sql);
            System.out.println("影响的行数:" + rows);
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (stmt != null) {
                    stmt.close();
                }
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL数据库 JDBC 编程(Java 连接 MySQL) - Python技术站

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

相关文章

  • 浅谈s:select 标签中list存放map对象的使用

    s:select 标签是 Struts2 框架中用于生成 HTML select 元素的标签,使用 s:select 标签可以方便地生成下拉框。当需要从后台传递一个 List 集合作为下拉框的选项时,可以使用 s:select 标签中的 list 属性,将 List 集合作为 s:select 标签对应的下拉框的选项。 然而,在某些场景下,我们需要将 Lis…

    Java 2023年6月15日
    00
  • SpringBoot 创建web项目并部署到外部Tomcat

    下面是关于SpringBoot创建Web项目并部署到外部Tomcat的攻略。 1. 创建SpringBoot项目 首先,我们需要创建一个SpringBoot Web项目。在这里,我们可以使用Spring Initializr,它是一个基于Web的Spring Boot项目生成器,可以快速构建Spring Boot项目。 具体来说,可以按照以下步骤创建Spri…

    Java 2023年5月19日
    00
  • JSP XMLHttpRequest动态无刷新及其中文乱码处理

    JSP XMLHttpRequest动态无刷新及其中文乱码处理,是前端开发中经常会遇到的问题之一。下面,我们将介绍一些方法来解决这个问题。 1. JSP动态无刷新 实现动态无刷新需要使用XMLHttpRequest对象。XMLHttpRequest对象被用于在web浏览器和web服务器之间传输数据。JSP实现动态无刷新的步骤一般如下: 步骤1:创建XMLHt…

    Java 2023年6月15日
    00
  • Java后端Cookie实现(时间戳)代码实例

    请看下面的详细讲解: Java后端Cookie实现(时间戳)代码实例 一、Cookie介绍 Cookie是指服务器通过HTTP响应发送给客户端的一小段文本信息。浏览器会将这些信息存储在客户端,并在下一次访问相同的服务器时发送回服务器。 Cookie可以用于实现在客户端保留数据的功能,比如记住登陆状态、保存浏览历史等。 二、创建Cookie 在Java后端开发…

    Java 2023年6月1日
    00
  • 解析java中的error该不该捕获

    解析Java中的Error是否应该捕获,需要考虑到Error类是Throwable类的子类,它们都是Throwable的两个直接子类,都表示了Java程序中的异常状况。与Exception不同的是,Error类表示的是JVM在运行时所遇到的严重问题,比如说OutOfMemoryError、NoClassDefFoundError等。由于Error类的严重性质…

    Java 2023年5月27日
    00
  • java~springboot~ibatis数组in查询的实现方法

    下面我给您详细讲解Java SpringBoot集成iBatis实现数组IN查询的方法。 什么是iBatis iBatis是一款持久层框架,其通过提供的半自动ORM工具简化了数据库操作,使得开发者能够更加关注业务逻辑的实现。 数组IN查询的实现方式 当我们需要查询某个字段的值一次匹配多个值时,便需要使用数组IN查询。iBatis支持两种方式实现数组IN查询:…

    Java 2023年5月20日
    00
  • javascript实现动态统计图开发实例

    下面我将为您详细讲解“JavaScript实现动态统计图开发实例”的完整攻略。 1. 准备工作 在实现动态统计图之前,需要准备以下工具和资源: 数据可视化库:例如ECharts、D3.js、Highcharts等; 前端框架:例如Vue.js、React.js等; 数据源:可以是本地数据,也可以是网络接口返回的数据。 2. 选择可视化库 在选择可视化库时,需…

    Java 2023年6月16日
    00
  • SpringBoot基于HttpMessageConverter实现全局日期格式化

    下面是详细讲解“SpringBoot基于HttpMessageConverter实现全局日期格式化”的完整攻略。 1. 什么是HttpMessageConverter HttpMessageConverter 是 Spring 框架中的一个接口,用于将请求和响应的数据转换为特定的格式。它可以将浏览器提交的数据(如:application/json 、 app…

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