java 中JDBC连接数据库代码和步骤详解及实例代码

下面是详细讲解 "java 中JDBC连接数据库代码和步骤详解及实例代码" 的攻略:

JDBC 连接数据库的步骤

Java 中,连接数据库需要以下步骤:

  1. 加载数据库驱动程序:通过调用 Class.forName() 方法,加载驱动程序。代码示例:
Class.forName("com.mysql.jdbc.Driver");
  1. 创建数据库连接对象:使用 DriverManager.getConnection() 方法创建数据库连接对象,需要传入数据库 URL、用户名和密码等参数。代码示例:
String url = "jdbc:mysql://localhost:3306/testdb";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
  1. 创建 Statement 或 PreparedStatement 对象:通过 Connection 对象的 createStatement()prepareStatement() 方法创建 StatementPreparedStatement 对象。代码示例:
Statement stmt = conn.createStatement();

或者

String sql = "SELECT * FROM student WHERE name=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "张三");
  1. 执行 SQL 语句:通过 StatementPreparedStatement 对象的 executeQuery()executeUpdate() 等方法执行 SQL 语句。代码示例:
ResultSet rs = stmt.executeQuery("SELECT * FROM student");

或者

int rows = pstmt.executeUpdate();
  1. 处理结果集:通过 ResultSet 对象的 next()getXXX() 等方法获取结果集,对查询结果进行处理。代码示例:
while (rs.next()) {
    // 处理结果集...
}
  1. 释放资源:在使用完数据库连接等资源后,需要及时释放资源,以避免内存泄漏等问题。代码示例:
rs.close();
stmt.close();
conn.close();

JDBC 连接 MySQL 数据库示例

下面是一个简单的示例,演示如何连接 MySQL 数据库并查询数据:

import java.sql.*;

public class JDBCTest {
    public static void main(String[] args) {
        try {
            // 1. 加载 MySQL 驱动程序
            Class.forName("com.mysql.jdbc.Driver");

            // 2. 创建数据库连接对象
            String url = "jdbc:mysql://localhost:3306/testdb";
            String user = "root";
            String password = "123456";
            Connection conn = DriverManager.getConnection(url, user, password);

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

            // 4. 执行 SQL 语句
            ResultSet rs = stmt.executeQuery("SELECT * FROM student");

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

            // 6. 释放资源
            rs.close();
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

注意,以上示例中使用了 try-catch-finally 结构,确保资源得以正确释放。

JDBC 连接 Oracle 数据库示例

下面是一个简单的示例,演示如何连接 Oracle 数据库并执行 SQL 语句:

import java.sql.*;

public class JDBCTest {
    public static void main(String[] args) {
        try {
            // 1. 加载 Oracle 驱动程序
            Class.forName("oracle.jdbc.driver.OracleDriver");

            // 2. 创建数据库连接对象
            String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
            String user = "system";
            String password = "123456";
            Connection conn = DriverManager.getConnection(url, user, password);

            // 3. 创建 PreparedStatement 对象
            String sql = "SELECT * FROM student WHERE name=?";
            PreparedStatement pstmt = conn.prepareStatement(sql);
            pstmt.setString(1, "张三");

            // 4. 执行 SQL 语句
            ResultSet rs = pstmt.executeQuery();

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

            // 6. 释放资源
            rs.close();
            pstmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

以上是连接 Oracle 数据库的示例,与连接 MySQL 数据库的示例大同小异。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java 中JDBC连接数据库代码和步骤详解及实例代码 - Python技术站

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

相关文章

  • JavaScript中String和StringBuffer的速度之争

    JavaScript中的String和StringBuffer都是用于处理字符串的对象,但在性能上存在巨大差异。String对象是不可变的,每次操作都会生成一个新的实例,而StringBuffer对象是可变的,可以直接修改,避免了生成新实例的开销,在字符串拼接时具有较高的效率。 下面我们使用两个示例来说明它们的速度之争: 首先是使用String进行字符串拼接…

    Java 2023年5月27日
    00
  • 修改及反编译可运行Jar包实现过程详解

    下面是关于“修改及反编译可运行Jar包实现过程详解”的完整攻略,包括两条示例说明: 修改及反编译可运行Jar包实现过程详解 1. 背景说明 在进行Java开发过程中,我们会将程序打包成Jar包进行发布。但是有些时候,我们希望对现有的Jar包进行修改,添加一些我们需要的功能或者修改一些原有的不合适的代码等。这时,我们就需要对Jar包进行反编译,修改对应的源代码…

    Java 2023年5月26日
    00
  • jsp struts1 标签实例详解第2/2页

    下面我将详细讲解JSP Struts1标签实例详解的完整攻略。该攻略分为两页,这里我将着重对第二页进行讲解。 一、JSP Struts1标签实例详解(第2/2页) 本文主要对Struts标签库进行介绍,讲解它们的使用方法和常用属性。 1. html:submit(表单提交按钮) html:submit标签用于创建表单提交按钮。以下是html:submit标签…

    Java 2023年6月15日
    00
  • Java实战玩具商城的前台与后台实现流程

    Java实战玩具商城的前台与后台实现流程 概述 Java实战玩具商城的前台与后台实现流程主要分为以下几步: 前端页面设计:设计商城的页面布局和逻辑,并使用HTML、CSS和JavaScript等技术实现页面的交互效果。 后台架构设计:设计商城的后台架构,包括实现分布式服务、数据库设计、接口设计等。 业务逻辑实现:根据商城运营需求,实现各项业务逻辑,包括商品管…

    Java 2023年5月26日
    00
  • SpringBoot内置数据源的持久化与解决方案

    SpringBoot内置数据源的持久化与解决方案 SpringBoot提供了基于内置数据源的快速开发方式,但在某些情况下我们需要对数据源进行持久化,即在服务重启后仍然可以使用之前的数据源,这就需要对数据源进行持久化操作。本文将详细介绍SpringBoot内置数据源的持久化与解决方案。 SpringBoot内置数据源 SpringBoot内置了三种依赖库支持数…

    Java 2023年5月20日
    00
  • JavaWeb文件上传下载功能深入分析(二)

    下面是对JavaWeb文件上传下载功能深入分析(二)的完整攻略。 一、文章概述 本篇文章是对JavaWeb文件上传下载功能深入分析(二)的详细讲解。本文主要分为以下几个方面: 1.文件上传和下载的原理:讲解文件上传和下载的基本原理和流程。 2.文件上传和下载的代码实现:演示如何使用JavaWeb实现文件上传和下载功能。 3.文件上传和下载的应用场景:介绍文件…

    Java 2023年6月2日
    00
  • Spring Boot如何支持嵌入式Servlet容器

    Spring Boot是一个开源框架,它可以帮助我们使用Java Spring框架更快速的创建和运行应用程序。其中一个Spring Boot的特性是支持嵌入式Servlet容器,这使得我们可以很容易地部署应用程序,无需安装Web服务器。 Spring Boot支持三个嵌入式Servlet容器:Tomcat、Jetty和Undertow。以下是如何使用Spri…

    Java 2023年6月15日
    00
  • IDEA+Maven创建Spring项目的实现步骤

    创建Maven项目 使用IDEA创建Maven项目,步骤如下: 点击IDEA的File菜单,选择New,然后选择Project; 在弹出的New Project窗口中,选择Maven; 在下一步中,我们需要输入项目的信息,包括 GroupId、ArtifactId、Version、Project name,这些信息都可以任意填写; 最后,点击Finish按钮…

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