MySQL实现JDBC详细步骤

下面我们详细讲解一下“MySQL实现JDBC详细步骤”的完整攻略。

什么是JDBC?

JDBCJava语言中访问关系型数据库的应用程序接口,作为Oracle公司为开发者提供的数据库访问技术之一,主要用于在Java应用程序中进行数据库操作,同时也可以与其他编程语言进行协作。

MySQL实现JDBC详细步骤

下面将为大家详细介绍如何使用MySQL实现JDBC。

步骤1:安装MySQL

首先,我们需要在本地安装MySQL数据库,可以到官网下载相应的安装包并进行安装。

步骤2:导入MySQL驱动包

在Java程序中使用JDBC操作数据库,需要将相应的数据库驱动程序放在classpath中,这里我们下载MySQL官方提供的驱动,将其存放到工程的lib目录下,并在项目中配置classpath。

示例代码:

<!-- MySQL驱动包 -->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>8.0.25</version>
</dependency>

步骤3:连接数据库

在Java程序中连接MySQL数据库,需要使用JDBC提供的Connection接口,通过调用DriverManager.getConnection()方法来创建连接。

示例代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBUtil {
    private static Connection conn = null;
    private static String driver = "com.mysql.cj.jdbc.Driver";
    private static String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";
    private static String username = "root";
    private static String password = "123456";

    static {
        try {
            // 加载驱动,建立连接
            Class.forName(driver);
            conn = DriverManager.getConnection(url, username, password);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    /**
     * 获取连接对象
     */
    public static Connection getConnection() {
        return conn;
    }

    /**
     * 关闭连接
     */
    public static void close() {
        try {
            if (conn != null) {
                conn.close();
                conn = null;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

步骤4:执行SQL语句

有了连接对象,我们就可以执行SQL语句了,这里使用Java中的PreparedStatement类来执行预编译SQL语句。

示例代码:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Test {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            // 获取连接对象
            conn = DBUtil.getConnection();
            // 构造SQL语句
            String sql = "SELECT * FROM users WHERE id = ?";
            // 创建PreparedStatment对象,设置参数
            ps = conn.prepareStatement(sql);
            ps.setInt(1, 1);
            // 执行SQL语句,获取结果集
            rs = ps.executeQuery();
            // 遍历结果集
            while (rs.next()) {
                System.out.println(rs.getInt("id") + ", " + rs.getString("name") + ", " + rs.getString("email") + ", " + rs.getString("password"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭连接
            DBUtil.close(rs, ps, conn);
        }
    }
}

步骤5:关闭连接

连接使用完成后,需要将其关闭,释放资源。这里我们在DBUtil类中添加一个静态方法close(),用于关闭连接。

示例代码:

/**
 * 关闭连接
 */
public static void close(ResultSet rs, Statement stmt, Connection conn) {
    try {
        if (rs != null) {
            rs.close();
            rs = null;
        }
        if (stmt != null) {
            stmt.close();
            stmt = null;
        }
        if (conn != null) {
            conn.close();
            conn = null;
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

示例

接下来,我们看一下如何使用Java程序连接MySQL数据库,执行SQL语句并输出查询结果。

示例1:查询数据库中的记录

  1. 创建一个名为db_test的数据库;
  2. db_test数据库中创建一个名为users的表,包含id(int), name(varchar), email(varchar)和password(varchar)四个字段;
  3. users表中插入一条记录,id为1,name为"test",email为"test@test.com",password为"123456";
  4. 在IntelliJ IDEA中创建一个Maven工程,并在pom.xml中添加MySQL驱动包的依赖;
  5. 创建DBUtil类,实现连接数据库、执行SQL语句、关闭连接等功能;
  6. 创建Test类,编写查询SQL语句的代码;
  7. 运行程序,输出查询结果。
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Test {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try {
            // 获取连接对象
            conn = DBUtil.getConnection();
            // 构造SQL语句
            String sql = "SELECT * FROM users WHERE id = ?";
            // 创建PreparedStatment对象,设置参数
            ps = conn.prepareStatement(sql);
            ps.setInt(1, 1);
            // 执行SQL语句,获取结果集
            rs = ps.executeQuery();
            // 遍历结果集
            while (rs.next()) {
                System.out.println(rs.getInt("id") + ", " + rs.getString("name") + ", " + rs.getString("email") + ", " + rs.getString("password"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭连接
            DBUtil.close(rs, ps, conn);
        }
    }
}

输出结果为:

1, test, test@test.com, 123456

示例2:向数据库中插入记录

  1. 创建一个名为db_test的数据库;
  2. db_test数据库中创建一个名为users的表,包含id(int), name(varchar), email(varchar)和password(varchar)四个字段;
  3. 在IntelliJ IDEA中创建一个Maven工程,并在pom.xml中添加MySQL驱动包的依赖;
  4. 创建DBUtil类,实现连接数据库、执行SQL语句、关闭连接等功能;
  5. 创建Test类,编写插入SQL语句的代码;
  6. 运行程序,执行插入SQL语句。
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Test {
    public static void main(String[] args) {
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            // 获取连接对象
            conn = DBUtil.getConnection();
            // 构造SQL语句
            String sql = "INSERT INTO users VALUES (?, ?, ?, ?)";
            // 创建PreparedStatment对象,设置参数
            ps = conn.prepareStatement(sql);
            ps.setInt(1, 2);
            ps.setString(2, "test2");
            ps.setString(3, "test2@test.com");
            ps.setString(4, "123456");
            // 执行SQL语句,获取结果集
            int result = ps.executeUpdate();
            if (result == 1) {
                System.out.println("插入成功!");
            } else {
                System.out.println("插入失败!");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭连接
            DBUtil.close(ps, conn);
        }
    }
}

执行成功后,数据库中应该会新增一条记录。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL实现JDBC详细步骤 - Python技术站

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

相关文章

  • 关于RestTemplate的使用深度解析

    关于RestTemplate的使用深度解析 RestTemplate是一个常用的HTTP客户端,它提供了简单的API,可以用来发送HTTP请求并获取响应结果。RestTemplate的使用非常广泛,可以用来调用RESTful API,发送表单数据,获取JSON数据等等。在本篇攻略中,我们将深入探讨RestTemplate的使用。 1. RestTemplat…

    Java 2023年5月20日
    00
  • Java Stream流的常见生成和操作方法总结

    Java Stream流的常见生成和操作方法总结 生成Stream流的常见方式 1. 通过Collection接口生成 可以通过Collection接口提供的stream()和parallelStream()方法生成一个Stream或ParallelStream流: List<String> list = Arrays.asList("…

    Java 2023年5月26日
    00
  • 浅谈java对象转json,数字精确出现丢失问题

    浅谈Java对象转JSON, 数字精确出现丢失问题 在Java中,JSON序列化是一项常见的处理任务。通过将对象序列化成JSON,使得数据更容易传递和存储。但是在转换基本数据类型时,小数点精确度丢失的问题也经常出现。本文将深入探讨Java对象转JSON时数字精确出现丢失的问题,并提供解决方案。 问题描述 在Java中进行JSON序列化时,会将Java中的数字…

    Java 2023年5月26日
    00
  • 基于SSM 集成 Freemarker模板引擎的方法

    基于SSM集成Freemarker模板引擎的方法主要分为以下三步: 1. 导入Freemarker相关依赖包 在pom.xml文件中,我们需要导入Freemarker的依赖包。具体代码如下: <!– Freemarker 引擎 –> <dependency> <groupId>org.freemarker</gr…

    Java 2023年5月31日
    00
  • java过滤特殊字符操作(xss攻击解决方案)

    关于Java过滤特殊字符操作和XSS攻击解决方案,我将介绍以下的内容: 什么是XSS攻击和其危害 Java过滤特殊字符的两种方式 防止XSS攻击的解决方案 两个示例说明Java过滤特殊字符和防止XSS攻击的实现 1.什么是XSS攻击和其危害 XSS指的是CSS(Cascading Sytle Sheets)注入攻击,其中注入的JavaScript脚本需要网站…

    Java 2023年5月27日
    00
  • Mybatis 插入和删除批处理操作

    对于“Mybatis插入和删除批处理操作”的完整攻略,可以分为以下几个步骤: 1.配置Mybatis的批处理模式2.编写插入和删除的SQL语句3.使用SqlSession进行批量操作 下面对每一步进行详细的讲解。 1.配置Mybatis的批处理模式 在Mybatis配置文件中,添加以下属性来开启批处理模式。 <configuration> &lt…

    Java 2023年5月19日
    00
  • 通过实例深入学习Java的Struts框架中的OGNL表达式使用

    让我来详细讲解一下“通过实例深入学习Java的Struts框架中的OGNL表达式使用”的完整攻略。 什么是Struts框架中的OGNL表达式? OGNL 表达式是 Object-Graph Navigation Language (对象图导航语言)的缩写,是在Struts框架中用于处理表达式语言的一种语言。通过OGNL表达式,我们可以访问对象的属性、方法和集…

    Java 2023年5月20日
    00
  • Java利用jenkins做项目的自动化部署

    下面是关于“Java利用Jenkins做项目的自动化部署”的完整攻略: 简介 Jenkins是一个开源的自动化部署工具,用于构建、测试、发布软件项目。Java开发人员可以使用Jenkins实现自己的自动化部署。Java利用Jenkins做项目的自动化部署,主要分为两个步骤: 安装Jenkins 配置Jenkins、部署项目 接下来将针对这两个方面分别详细介绍…

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