zl程序教程

您现在的位置是:首页 >  其它

当前栏目

ResultSet

2023-09-14 09:14:25 时间

ResultSet

简介:通过代码理解ResultSet,从这个单词的翻译就知道,他是存放查询结果的集合的,用于select语句。
推荐学习路线JDBC数据库的连接->Connection(数据库连接对象)->Driud数据库连接池的使用->ResultSet->通过PreparedStatement预防SQL注入->JDBC增删改查案例讲解 大家跟着敲完基本就可以JDBC基础毕业了。

演示代码

package com.study.jdbc;


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;


/**
 * JDBC快速入门
 */
public class JDBCDemo {

    public static void main(String[] args) throws Exception {
        //1. 注册驱动
        Class.forName("com.mysql.cj.jdbc.Driver");
        //2. 获取连接
        // String url = "jdbc:mysql://127.0.0.1:3306/books"; // 如果是mysql5这样写
        String url = "jdbc:mysql://localhost:3306/books?serverTimezone=GMT%2B8&useOldAliasMetadataBehavior=true"; // 如果是mysql8这样写
        String username = "root";
        String password = "1234";

        Connection conn = DriverManager.getConnection(url, username, password);
        //3. 定义sql
        String sql = "select * from book";
        //4. 获取执行sql的对象 Statement
        Statement stmt =  conn.createStatement();
        //5. 执行sql
        ResultSet rs = stmt.executeQuery(sql);
//        //6. 处理结果
        while(rs.next()){
            // 获取数据
            String recId = rs.getString(1);
            String title = rs.getString(2);
            String type = rs.getString(3);
            double price = rs.getDouble(4);
            System.out.print(recId + " ");
            System.out.print(title + " ");
            System.out.print(type + " ");
            System.out.println(price);
            System.out.println();
            System.out.println("--------------");
        }
        //7. 释放资源
        stmt.close();
        conn.close();
    }
}

运行结果
在这里插入图片描述

代码讲解

从上面的演示代码,我们发现,在ResultSet接收到,Statement运行的select的sql语句,获取到了查询的数据集之后,采取循环的方式获取数据集合中的数据。

next():返回值为boolean类型,判断是否还存在下一个结果,类似于迭代器的访问方式。
getXxx():返回值类型为Xxx类型,比如String,Double,Integer,等等类型,里面的参数为,数据库中总的每一列的列名,根据数据库中的具体的数据类型,来确定是Xxx是什么类型。