ResultSet接口
ResultSet介绍
对数据库的查询操作,一般需要返回查询结果。在程序中,JDBC为我们提供了ResultSet接口来专门处理查询结果集。
由于ResultSet是JDBC的一个接口,先来简单了解一下JDBC:
JDBC:Java Database Connection,表示数据库连接(任何数据库都支持JDBC的连接),是一个独立于特定数据库管理系统、通用的sql数据库存取和操作的公共接口。它是java中专门提供的一组用于操作数据库的标准,所有的数据库生产商如果要是想为java提供支持,则必须支持此标准。所以说JDBC实际上是一套访问数据库的接口。
通过以下方法执行一个查询操作:
ResultSet executeQuery(String sql) throws SQLException
executeQuery是查询
函数的返回类型是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 stub
query();
}
//方法:查询操作
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();
}
}
}
运行结果如下示:
ResultSet接口相关推荐
- resultset mysql_MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...
[声明] 欢迎转载,但请保留文章原始出处→_→ [正文] 一.ResultSet接口的介绍: 对数据库的查询操作,一般需要返回查询结果,在程序中,JDBC为我们提供了ResultSet接口来专门处理查 ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- Jdbc系列四:ResultSet接口
一.ResultSet 通过调用 Statement 对象的 excuteQuery() 方法创建该对象. ResultSet 对象以逻辑表格的形式封装了执行数据库操作的结果集,ResultSet ...
- java中result方法_java.sql.resultSet接口中有很多方法的实现
接口是很重要的面向对象方式,继承接口的类不用全部实现定义的接口,可以这么说,我定义了好多接口,某个类可以这么实现这个接口,到另一个类你又想那么实现接口,都是可以的. 或者定义完接口不想管他都可以,虽然 ...
- java mysql resultset_Java数据库——ResultSet接口
使用SQL中的SELECT语句可以查询出数据库的全部结果,在JDBC的操作中数据库的所有查询记录将使用ResultSet进行接收,并使用ResultSet显示内容. 从user表中查询数据 //=== ...
- java resultset wasnull_Java Spring – RowMapper ResultSet – 整数/空值
我有一个 Java SE 8 Spring 4.1.6-RELEASE应用程序,我正在实现 org.springframework.jdbc.core.RowMapper接口,我对其 T mapRow ...
- JDBC—01—JDBC简介;JDBC常用接口与类;
一. JDBC 简介 1 什么是 JDBC JDBC(Java DataBase Connectivity)java 数据库连接 是 JavaEE 平台下的技术规范 定义了在 Java 语言中连接数据 ...
- ResultSet用法集锦 (转)
转:http://soft-development.iteye.com/blog/1420323 结果集(ResultSet)是数据中查询结果返回的一种对象,可以说结果集是一个存储查询结果的对象,但是 ...
- java中接口什么时候用_我什么时候应该在java中使用接口?
在Java中精确使用接口的一个很好的例子将是理想的,适用于任何特定的规则. 看看丹以前所有的问题,他似乎只是逐字逐句地张贴家庭作业/考试问题. 令人惊讶的是,这些不是考试题或其他-今天才找到这个网站, ...
最新文章
- 【Animations】使用缩放动画放大视图(7)
- ActiveMQ实现负载均衡+高可用部署方案
- jquery数组(排序)
- linux开机磁盘检查启动慢,Ubuntu 7.10开机启动慢的完美解决
- 浅谈html的语义化和一些简单优化,html标签语义化
- 枚举算法:求解不等式
- cup first world_LOONCUP – The world's first SMART menstrual cup.
- Http GET、Post方式的请求总结
- virtualmin修改php.ini,virtualmin安装和配置使用
- Windows核心编程学习九:利用内核对象进行线程同步
- 《神探tcpdump第八招》-linux命令五分钟系列之四十二
- 淘宝七天自动确认收货,让你设计,可以怎么实现?(附源码)
- linux基础-- 桌面系统如何切换命令窗口
- laravel5.8整合JWT
- CTF Crypto/MISC 在线工具网站
- 第几天(2018蓝桥杯-第一题)
- 2016年linux认证考试,2016年Linux认证考试模拟练习及答案
- Moveit!入门——古月居机械臂开发笔记(二)
- java加密工作模式None_simple1234
- 智能售货机系统帝可得
热门文章
- ManageEngine:疫无情,莫等闲。线上学习特权密码管理
- stm32mp157 wm8960音频驱动调试笔记
- 基于旅行商模型的碎纸片拼接复原
- JavaScript中改变鼠标指针样式的方法
- CSDN日报20170525 ——《狗蛋的寻亲之路,结识嵌入式世界的那只狗》
- 自恢复保险丝电流电压的选择有什么要求?
- Springboot 2.x 整合jOOQ实现CRUD
- xss靶场练习(二)之xss小游戏
- 如何解决: ImportError: cannot import name ‘Markup‘ from ‘jinja2‘
- 修改 elementui nav 下拉菜单内部样式