JDBC之ResultSet接口

article/2025/10/1 7:27:52

 

ResultSet介绍

    对数据库的查询操作,一般需要返回查询结果。在程序中,JDBC为我们提供了ResultSet接口来专门处理查询结果集

    由于ResultSet是JDBC的一个接口,先来简单了解一下JDBC:

JDBCJava Database Connection,表示数据库连接(任何数据库都支持JDBC的连接),是一个独立于特定数据库管理系统、通用的sql数据库存取和操作的公共接口。它是java中专门提供的一组用于操作数据库的标准,所有的数据库生产商如果要是想为java提供支持,则必须支持此标准。所以说JDBC实际上是一套访问数据库的接口。

通过以下方法执行一个查询操作:

ResultSet executeQuery(String sql) throws SQLException 

  1. executeQuery是查询
  2. 函数的返回类型是ResultSet

实际上查询的数据并不在ResultSet里面,依然是在数据库里,ResultSet中的next()方法类似于一个指针,指向查询的结果,然后不断遍历以获取数据库中的结果。所以这就要求连接不能断开。

JDBC常用的操作/接口

Connection接口

Statement接口

PreapredStatement接口

ResultSet接口

CallableStatement接口

DriverManager

ResultSet接口常用的方法

boolean next()     遍历时,判断是否有下一个结果

int getInt(String columnLabel)

int getInt(int columnIndex)

Date getDate(String columnLabel)

Date getDate(int columnIndex)

String getString(String columnLabel)

String getString(int columnIndex)

ResultSet接口实现查询操作

步骤如下

 

1、加载数据库驱动程序:Class.forName(驱动程序类)

2、通过用户名密码和连接地址获取数据库连接对象

      DriverManager.getConnection(连接地址,用户名,密码)

3、构造查询SQL语句

4、创建Statement实例

      Statement stmt = conn.createStatement()

5、执行查询SQL语句,并返回结果:

      ResultSet rs = stmt.executeQuery(sql)

6、处理结果

7、关闭连接:rs.close()stmt.close()conn.close()

案例分析:

package com.inspur.servlet;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;public class NiHao {//数据库连接地址private final static String URL = "jdbc:mysql://10.10.4.92:3306/jctest?characterEncoding=utf8&useSSL=true";//用户名public final static String USERNAME = "jctest";//密码public final static String PASSWORD = "jctest";//加载的驱动程序类(这个类就在我们导入的jar包中)public final static String DRIVER = "com.mysql.jdbc.Driver";public static void main(String[] args) {// TODO Auto-generated method stubquery();}//方法:查询操作public static void query(){try {//1.加载数据库驱动程序Class.forName(DRIVER);//2.通过用户名密码和连接地址url获取数据库连接对象Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);//3.构造插入的SQL语句String sql = "select 姓名 from Mac_Name";//4.创建Statement实例Statement state = conn.createStatement();//5.执行查询并返回结果集ResultSet rs = state.executeQuery(sql);//6.处理结果while(rs.next()){  //通过next来索引:判断是否有下一个记录String name = rs.getString("姓名");System.out.println("name="+name);}//7.关闭连接rs.close();state.close();conn.close();            } catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}}
}

运行结果如下示:


http://chatgpt.dhexx.cn/article/dKlCun0K.shtml

相关文章

android studio BindService

一.输入: 1.全部代码: 主界面代码: public class BindServiceActivity extends AppCompatActivity implements View.OnClickListener {private static final String TAG "BindServiceActivity";private Button mBtBindService;…

Service中bindService

最近有用到Activity需要不断的从Service中获取数据,第一个想法肯定就是通过bind回调机制了,有几点概念模糊特此记录下: 单独使用bindService(),unbindService()会经历:->onCreate()->onBind()->Service runn…

bindService不调用onServiceConnected的问题

bindService不调用onServiceConnected的问题 昨天做一个项目时,Activity需要bindService获取到service实例与service进行交互,创建好service如下(例): class MyService{private IBinder mBinder new MyServicerBind…

bind服务

一、域名 www.baidu.com www.baidu.com. (.)根域 (com)一级域名 (baidu)二级域名 二、DNS解析记录分类 A记录、CNAME、MX记录、NS记录 1、A记录 通过域名直接查询到IP 例如&…

bindService启动流程

通过bindService启动的Service,会执行Service的onCreate、onBind、onUnbind、onDestroy方法,可以通过onBind方法返回的Binder对象和调用端进行通信,并且Service的生命周期和调用端同步。 如下是启动bindService的代码 var stu: Student? null val con…

AIDL报错,bindService一直连接不上、不起作用。

先说问题,最近用aidl,发现bindService根本就不走,不知道咋回事,明明写的没有任何毛病啊? //aidl绑定private void bind() {Intent intent new Intent();String pkg "com.example.mzz_service";//需要调用…

服务两种启动方式(startService与bindService)的区别

综上两篇文章 1.Android Service的基本用法(startService启动方式生命周期) 2.Android Service与Activity之间的通信(bindService启动方式) 区别如下: 一.生命周期上的区别 startService启动服务:Service会…

进程间通讯:Binder:bindService之 onServiceConnected回调

1:bindService官方概述 很明显 通过Google官方文档描述,我们知道 1:bindService()的返回值只是表明服务是否存在; 2:真正能代表是否成功绑定服务的是触发onServiceConnected(&…

Android入门第41天-Android中的Service(bindService)

介绍 在前一天我们介绍了Android中有两种启动Service的方法。并擅述了startService和bindService的区别。同时我们着重讲了startService。 因此今天我们就来讲bindService。bindService大家可以认为它是和Android的一个共生体。即这个service所属的activity如果消亡那么bindS…

Android Binder框架实现之bindService详解

Android Binder框架实现之bindService详解 Android Binder框架实现目录: Android Binder框架实现之Binder的设计思想 Android Binder框架实现之何为匿名/实名Binder Android Binder框架实现之Binder中的数据结构 Android Binder框架实现之Binder相关的接口和类 Andr…

Android bindService流程

一. 前言 我们可以通过startService来启动一个服务, 当然也可以通过bindService绑定一个服务,本篇文章我们来讲一讲绑定服务的完整流程, 阅读此文之前,建议先阅读一下笔者的这三篇文章 Android 进程间通信机制(三) 系统进程与应用进程通信 Android 进程间通信机制(四) 应用进程…

bind服务程序

一、介绍 1、bind服务是全球范围内使用最广泛、最安全可靠且高效的域名解析服务程序。 2、为了有效地限制bind服务程序仅能对自身的配置文件进行操作,以确保整个服务器的安全,在安装部署bind服务程序时加上chroot(俗称牢笼机制)…

startService bindService 区别

Android执行Service有两种方法,一种是startService,一种是bindService。下面让我们一起来聊一聊这两种执行Service方法的区别。 1、生命周期上的区别 执行startService时,Service会经历onCreate->onStartCommand。当执行stopService时&…

Android中Service使用bindService

前面已经对Service的startServer方式启动一个服务了解过了,现在来看一下Service的另一种启动方式→bindServer bindServer使用场景 1、在同个app之间调用(即是同一个进程中) 2、在不同app之间调用(即是跨进程间通信&#xff09…

Android——bindService()方法启动服务

通过绑定服务来启动的话需要注意创建一个类来实现ServiceConnection接口,重写onServiceConnected()和onServiceDisconnected()方法。这个类用于服务的连接。成功绑定服务时,会调用onServiceConnected&#…

Android Service 服务(三)—— bindService与remoteService

一、bindService简介 bindService是绑定Service服务,执行service服务中的逻辑流程。 service通过Context.startService()方法开始,通过Context.stopService()方法停止;也可以通过Service.stopSelf()方法或者Service.stopSelfResult()方法来停…

SO_BINDTODEVICE 使用

就绑定到了接口"lmi40"上,所有数据报的收发都只经过这个网卡. 对于SOL_BINDTODEVICE的总结如下: (1) 对于TCP套接口、UDP套接口、RAW套接口,可以通过SO_BINDTODEVICE套接口选项将套接口绑定到指定的网络接口上。绑定之后&…

startService与bindService的区别

Android执行Service有两种方法,一种是startService,一种是bindService。下面让我们一起来聊一聊这两种执行Service方法的区别。 1、生命周期上的区别 执行startService时,Service会经历onCreate->onStartCommand。当执行stopService时&…

startService和bindService的区别

首先看下其生命周期的区别: 生命周期: onCreate → startCommand → onDestroy onCreate → onBind→onUnBind→ onDestroy 静态绑定对应着startService;动态绑定对应着bindService,静态有自己独立的生命周期,动态会…

bindService的使用

bindService与starService之间的区别: 在程序通过startService()方法启动的服务,会长期在后台运行,并且启动服务的组件与服务之间没有关系,即使启动服务的组件被销毁,服务还是会运行。 但是当一…