JDBC 入门(三)

yizhihongxing

JDBC 入门(三)主要讲解了如何执行数据库的查询操作以及如何获取查询结果。以下是具体的完整攻略。

JDBC 查询操作

我们在学习 JDBC 操作数据库时,通常都是要进行数据的查询、更新、插入和删除操作。这里我们将讲解如何进行查询操作。

查询示例

下面是一段查询 MySQL 数据库中的 user 表,并将结果打印出来的示例代码。

import java.sql.*;

public class QueryDemo {

    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/test?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
        String username = "root";
        String password = "123456";

        try (Connection conn = DriverManager.getConnection(url, username, password);
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT * FROM user")) {

            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                int age = rs.getInt("age");

                System.out.println(id + ", " + name + ", " + age);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

}

在这段代码中,我们通过 DriverManager.getConnection() 方法获取了数据库连接对象,然后使用 Statement 对象执行了一条查询语句并将结果存储在 ResultSet 对象中。最后,我们通过 ResultSetnext() 方法获取一行数据,并将查询结果打印出来。

JDBC 获取查询结果

在 JDBC 中,我们通过 ResultSet 接口来获取查询结果,这个接口提供了多种方法来获取数据库查询结果。以下是一些常用的方法:

  • next():将光标从当前行移动到下一行,如果下一行存在,则返回 true,否则返回 false。
  • getString(int index)getString(String columnName):获取当前行中某个列的字符串值。
  • getInt(int index)getInt(String columnName):获取当前行中某个列的整数值。
  • getDate(int index)getDate(String columnName):获取当前行中某个列的日期值。
  • ...

获取查询结果示例

下面是一段获取查询结果的示例代码:

import java.sql.*;

public class QueryResultDemo {

    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/test?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
        String username = "root";
        String password = "123456";

        try (Connection conn = DriverManager.getConnection(url, username, password);
             Statement stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT * FROM user")) {

            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                int age = rs.getInt("age");

                System.out.println(id + ", " + name + ", " + age);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

}

在这段代码中,我们同样先获取数据库连接对象,再使用 Statement 对象执行一条查询语句,并将查询结果存储到 ResultSet 对象中。然后我们通过 ResultSetnext() 方法将光标移动到下一行,并从结果集中获取每一行的数据,并打印出来。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JDBC 入门(三) - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • 深度解析Java中volatile的内存语义实现以及运用场景

    深度解析Java中volatile的内存语义实现以及运用场景 什么是volatile 在Java中,volatile是一种特殊的修饰符,表示被它修饰的变量具有可见性、不保证原子性的特性。 volatile的内存语义 当一个变量被声明为volatile,Java虚拟机将保证: 变量对所有线程之间的可见性 避免指令重排 变量对所有线程之间的可见性 当一个线程修改…

    Java 2023年5月26日
    00
  • mybatis框架入门学习教程

    下面我将详细讲解”mybatis框架入门学习教程”的完整攻略,该攻略包括以下几个部分: 一、Mybatis框架概述 Mybatis是一个开源的持久层框架,它支持自定义SQL、存储过程调用和高级映射,可以将结果集映射到Java对象中。它主要有以下优点: SQL与程序解耦:Mybatis的SQL存放在XML文件中,与Java程序相分离,使程序易于维护。 灵活性高…

    Java 2023年5月19日
    00
  • Java如何连接数据库图文教程

    首先我来讲解一下“Java如何连接数据库”的完整攻略。 一、准备工作 1.1 下载并安装数据库 Java程序连接数据库需要先安装对应的数据库软件,这里以MySQL数据库为例。可以在官网 https://dev.mysql.com/downloads/mysql 下载MySQL Community Server安装包(根据系统位数选择),下载后按照提示安装即可…

    Java 2023年5月19日
    00
  • Java中线程用法总结

    下面是Java中线程用法总结的完整攻略。 线程的基本概念 线程是指在单个程序中同时执行多个任务。可以将其想象成许多互相独立运行的小程序,这些程序可以在同一时间运行。在Java中,线程是由Thread类创建的对象表示的。使用线程的主要原因是可以更好地利用现代计算机CPU的多个核心,提高程序的效率。 线程的创建 创建线程的方式主要有两种: 继承Thread类 实…

    Java 2023年5月26日
    00
  • 详解使用Spring Security OAuth 实现OAuth 2.0 授权

    详解使用Spring Security OAuth 实现OAuth 2.0 授权 什么是OAuth 2.0? OAuth 2.0是用于授权的标准协议,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或者将所有的数据转移到第三方应用。 Spring Security OAuth2 Spring Securit…

    Java 2023年5月20日
    00
  • JavaSpringBoot报错“MethodArgumentTypeMismatchException”的原因和处理方法

    当使用Java的Spring Boot框架时,可能会遇到“MethodArgumentTypeMismatchException”错误。这个错误通常是由以下原因之一引起的: 参数类型不匹配:如果控制器方法的参数类型与请求参数类型不匹配,则可能会出现此错误。在这种情况下,需要确保控制器方法的参数类型与请求参数类型匹配。 参数格式不正确:如果请求参数格式不正确,…

    Java 2023年5月5日
    00
  • java基础之方法和方法的重载详解

    Java基础之方法和方法的重载详解 方法是Java程序中最基本的组成部分之一。“方法”的英文名为“Method”,也可以被称为“函数(Function)”或者“子程序(Subroutine)”。方法装有的代码块可以被多次调用,使得程序模块化,更加易于理解、调试和维护。 什么是Java方法? Java方法是一组相关语句的集合,能够一次性执行多个语句。方法是一种…

    Java 2023年5月26日
    00
  • 基于resty orm的ActiveRecord操作数据指南

    基于resty orm的ActiveRecord操作数据指南 什么是ActiveRecord ActiveRecord 是一种 ORM 模式,在该模式下,对象的属性映射到数据库表的字段,一行记录对应于一个对象实例。 什么是resty orm resty orm 是 OpenResty 中提供的 ORM 实现,它支持 MySQL、PostgreSQL 和 Re…

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