前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅析JDBC的ResultSet接口和使用MySQL语句查询数据

浅析JDBC的ResultSet接口和使用MySQL语句查询数据

作者头像
Java进阶者
发布2021-07-01 10:00:42
1.8K0
发布2021-07-01 10:00:42
举报
文章被收录于专栏:Java进阶学习交流

平生不会相思,才会相思,便害相思。

大家好,我是Java进阶者,今天给大家继续分享JDBC技术。

一、前言

在《浅析JDBC常用的接口——JDBC的Statement接口、PreparedStatement接口》文章中,我们介绍了使用Java语言来执行SQL语句。本文主要给大家介绍在Java语言中,通过执行SQL语句后,如何使用ResultSet接口来获取表中的数据、使用MySQL语句查询表中的数据,接下来小编带大家一起来学习!

二、ResultSet接口

1.ResultSet接口是用于生成数据库结果集的数据表。它是由Statement对象的executeQuery()方法产生的结果集。ResultSet对象具有一个指向当前数据行的光标,使用next()方法可以把光标移到下一行中。

2.ResultSet对象在当前行获取列值使用的方法,例如getBoolean()、getInt()、getString()等等,可以使用列的名称来获取列值。

3.ResultSet常用方法

常用方法:

1)int getRow():获取行。

2)boolean first():光标移至ResultSet对象第一行。

3)void beforeFirst():光标移至ResultSet对象第一行之前。

4)void moveToInsertRow():光标移至ResultSet对象插入行。

5)boolean previous():光标移至ResultSet对象上一行。

6)void insertRow():插入行。

7)void deleteRow():删除行。

8)void close():释放ResultSet对象数据库和JDBC资源。

三、通过一个案例了解Statement接口的用法

1.首先导入拓展包“mysql-connector-java-5.1.7-bin.jar”,在Ecilpse编辑软件的当前项目右键选择“Bulid Path”,再选择“Configure Build Path...”,选择Libraies,在右边有个“Add External JARs...”按钮把这个拓展包加进来,然后点击“OK”。具体操作如下图所示:

2.在上面介绍了Statement接口的基础知识,接下来,小编通过一个案例带大家一起了解Statement接口的用法,代码如下所示:

代码语言:javascript
复制
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class Example27 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String driver="com.mysql.jdbc.Driver";
        try {
            //加载驱动
            Class.forName(driver);
            //数据库地址,本机、端口号3306、数据库名为test
            String url="jdbc:mysql://localhost:3306/test";
            //用户名
            String user="root";
            //密码
            String pwd="168168";
            //连接数据库
            Connection conn=DriverManager.getConnection(url,user,pwd);
            //创建Statement对象
            Statement stmt=conn.createStatement();
            String sql="select * from student where id='A02'";
            //执行SQL语句
            ResultSet rs=stmt.executeQuery(sql);
            //获取id为A02的数据
            if(rs.next()){
                System.out.println("id="+rs.getString("id"));
                System.out.println("name="+rs.getString("name"));
                System.out.println("age="+rs.getInt("age"));
            }
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

效果图如下所示:

在上面代码中,首先是加载驱动程序,之后,创建数据库的连接,再接着创建Statement对象声明SQL语句对象,使用createStatement()方法,最后执行SQL语句,使用executeQuery()方法,返回的结果存放在一个ResultSet对象,调用该对象next()方法获取id为“A02”的数据。

四、MySQL语句查询数据具体步骤

对MySQL数据库表中进行查询操作具体步骤如下所示:

1)使用Statement对象创建一个SQL语句对象,使用createStatement()方法。代码如下所示:

代码语言:javascript
复制
Statement s = conn.createStatement();
代码语言:javascript
复制
2)使用executeQuery()方法执行SQL语句,返回的结果存放在一个ResultSet对象。代码如下所示:
代码语言:javascript
复制
String sql="select * from student";
ResultSet rs=s.executeQuery(sql);

3)使用ResultSet对象的next()方法,判断有没有记录,没有记录则返回false,说明ResultSet对象没有任何记录。如果有记录返回是true,可以使用当前行获取列值方法来获取记录中的信息。

4)可以使用while循环依次获取所有记录中的数据。

五、通过一个案例了解使用MySQL语句查询数据的用法

1.首先导入拓展包“mysql-connector-java-5.1.7-bin.jar”,在Ecilpse编辑软件的当前项目右键选择“Bulid Path”,再选择“Configure Build Path...”,选择Libraies,在右边有个“Add External JARs...”按钮把这个拓展包加进来,然后点击“OK”。具体操作的图片在上面。

2.在上面介绍了MySQL语句查询数据具体步骤,接下来,小编通过一个案例带大家一起了解使用MySQL语句查询数据的用法,代码如下所示:

代码语言:javascript
复制
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class Example28 {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        String driver="com.mysql.jdbc.Driver";
        try {
            //加载驱动
            Class.forName(driver);
            //数据库地址,本机、端口号3306、数据库名为test
            String url="jdbc:mysql://localhost:3306/test";
            //用户名
            String user="root";
            //密码
            String pwd="168168";
            //连接数据库
            Connection conn=DriverManager.getConnection(url,user,pwd);
            //创建Statement对象
            Statement stmt=conn.createStatement();
            String sql="select * from student";
            //执行SQL语句
            ResultSet rs=stmt.executeQuery(sql);
            //使用while循环获取所有记录中的数据。
            while(rs.next()){
                System.out.println("id="+rs.getString("id"));
                System.out.println("name="+rs.getString("name"));
                System.out.println("age="+rs.getInt("age"));
            }
            
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

效果图如下所示:

在上面代码中,首先是加载驱动程序,之后,创建数据库的连接,再接着创建Statement对象声明SQL语句对象,使用createStatement()方法,最后执行SQL语句,使用executeQuery()方法,返回的结果存放在一个ResultSet对象,调用该对象next()方法使用while循环获取student表中的所有记录中的数据。

六、总结

1.本文介绍了ResultSet接口和使用MySQL语句查询数据。

2.ResultSet接口是用于生成数据库结果集的数据表。它是由Statement对象的executeQuery()方法产生的结果集。ResultSet对象具有一个指向当前数据行的光标,使用next()方法可以把光标移到下一行中。文中介绍了它的常用方法的使用,并通过一个案例来帮助大家了解Statement接口的用法。

3.本文还介绍了MySQL语句查询数据的具体步骤,并通过一个案例来帮助大家理解使用MySQL语句查询数据的用法。

4.希望大家通过本文的学习,对你有所帮助!

最后需要拓展包的小伙伴,可以在公众号后台回复“拓展包”关键字进行获取。

我是Java进阶者,希望大家通过本文的学习,对你有所帮助!欢迎大家加我微信,有问题可以随时帮大家解决噢,交个朋友也好哇~

------------------- End -------------------

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java进阶学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 大家好,我是Java进阶者,今天给大家继续分享JDBC技术。
  • 一、前言
  • 二、ResultSet接口
  • 三、通过一个案例了解Statement接口的用法
  • 四、MySQL语句查询数据具体步骤
  • 五、通过一个案例了解使用MySQL语句查询数据的用法
  • 六、总结
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档