Eclipse中java获得mysql的查询结果集

不废话,先上代码,再上解释说明

 1 package com.ningmeng;
 2 
 3 import java.sql.*;
 4 /**
 5  * 1:获取查询结果集
 6  * @author biexiansheng
 7  *
 8  */
 9 public class Test03 {
10 
11     public static void main(String[] args) {
12         try {
13             Class.forName("com.mysql.jdbc.Driver");
14             System.out.println("加载数据库驱动成功");
15             String url="jdbc:mysql://localhost:3306/test";//声明数据库test的url
16             String user="root";//数据库账号
17             String pass="123456";//数据库密码
18             //建立数据库连接,获得连接对象conn
19             Connection conn=DriverManager.getConnection(url,user,pass);
20             System.out.println("数据库连接成功");
21             Statement stmt=conn.createStatement();//创建一个Statement对象
22             String sql="select * from users";//生成一条sql语句
23             ResultSet rs=stmt.executeQuery(sql);//执行查询,把查询结果赋值给结果集对象
24             int id,age,sex;//声明3个变量分别为id,age,sex
25             String username,password;//声明2个变量分别为用户名,密码
26             System.out.println("id\t 用户名\t 密码 \t  年龄\t 性别");//其中\t相当于8个空格
27             while(rs.next()){//遍历结果集
28                 id=rs.getInt("id");//获得id
29                 username=rs.getString(2);//
30                 password=rs.getString("password");//
31                 age=rs.getInt(4);//
32                 sex=rs.getInt(5);//
33                 System.out.println(id+"\t"+username+"\t"+password+"\t"+age+"\t"+
34                         sex+"\t");
35             }
36             System.out.println("获得查询结果集");
37             conn.close();
38             System.out.println("关闭数据库连接对象");
39         } catch (ClassNotFoundException e) {
40             // TODO Auto-generated catch block
41             e.printStackTrace();
42         }//加载数据库驱动
43         catch (SQLException e) {
44             // TODO Auto-generated catch block
45             e.printStackTrace();
46         }
47     
48         
49     }
50 }

结果如下所示

1:Result接口类似于一个临时表,用来暂时存放数据库查询操作所获得的结果集。

2:PreparedStatement接口中的excuteQuery()方法,在此PreparedStatement对象执行sql查询语句,返回结果为查询结果集Result对象

3:next()将指针向下移一行

4:ResultSet对象的getXXX()方法可获取查询结果集中数据。由于ResultSet中保存的数据是表的形式,因此可通过使用getXXX()方法指定列的序号与列的名称。

id=rs.getInt("id");//获得id

username=rs.getString(2);//

password=rs.getString("password");//

age=rs.getInt(4);//

sex=rs.getInt(5);//

仔细体会就可以明白,getXXX(参数);参数既可以是列的名称还可以是第几列的数字。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏python3

Python语句-if.....else......

似乎所有的条件语句都使用if.....else.....,它的作用可以简单地概括为非此即彼,满足条件A则执行A的语句,否则执行B语句,python的if.......

11520
来自专栏专注 Java 基础分享

深入理解Struts2----类型转换

     之前的一系列文章主要介绍了有关Struts2的一些基本用法和部分的简单原理,但是始终没有介绍有关拦截器的相关内容,从本篇开始我们将从另一个角度去深入理...

24190
来自专栏木木玲

JVM中 对象的内存布局 以及 实例分析

23080
来自专栏IT技术精选文摘

阿里架构师带你深入浅出jvm

28620
来自专栏yl 成长笔记

深刻理解反射(Reflection)

最近公司在搞自动化测试,由于版权问题,无法用 ’录制脚本‘ 进行,也就没法用 VS 自带的 UITest 框架(蛋疼), 所以只能开源的 FlaUI 框架来搞了...

16340
来自专栏小樱的经验随笔

C/C++中peek函数的原理及应用

C++中的peek函数   该调用形式为cin.peek() 其返回值是一个char型的字符,其返回值是指针指向的当前字符,但它只是观测,指针仍停留在当前位置,...

32050
来自专栏从零开始学 Web 前端

09 - JavaSE之线程

PS: 如果我们没有 new一个 Thread 对象出来,而是直接使用 MyThread 的 run 方法(mt.run()),这就是方法调用,而不是启动线程了...

15450
来自专栏偏前端工程师的驿站

意译:《JVM Internals》

译者语                                  为加深对JVM的了解和日后查阅时更方便,于是对原文进行翻译。内容是建立在我对JVM的认...

26570
来自专栏屈定‘s Blog

并行设计模式--immutable模式

线程不安全的原因是共享了变量且对该共享变量的操作存在原子性、可见性等问题,因此一种解决思路就是构造不可变的对象,没有修改操作也就不存在并发竞争,自然也不需要额外...

20260
来自专栏我是业余自学C/C++的

redis_3.0.7_sds.c_sdsempty_so_on

11330

扫码关注云+社区

领取腾讯云代金券