#前倾提要

在jdbc中执行DQL查询语句使用的方法为:executeQuery(sql);这个方法会返回一个ResultSet类的对象

ResultSet对象:结果集对象,封装查询的对象

例子:我要封装一张员工表如下

当我在java程序里面执行

String sql="select * from emp";ResultSet rs=执行对象.executeQuery(sql);

这张员工表的信息就被封装到rs对象中。这个时候这张表就好像被添加了一个类似图片中的红色箭头的指针,我们叫做游标,初始的时候游标指向第一行,我们需要移动游标来使得游标到达我们需要取数据的那一行。

ResultSet类中的next()方法;

在ResultSet类中,有一个专门用来移动游标的方法next();当我们执行代码(接着前面封装员工表返回的对象rs)

rs.next();

游标会向下移动一行,如图

这个时候我们对列操作就可以获取数据

对列操作:ResultSet类中的getXxx(参数);方法

1.在方法getXxx()中,XXX表示你想要获取的数据类型,传入的参数可以是列名,例如接着上面,游标指向张三这行后执行

String name=rs.getString(NAME);

那么返回值就是name=张三;

2.getXxx()方法中传入的参数也可以是第几列,当游标指向张三这行给的时候,执行代码

Int id=rs.getInt(1);

那么返回值id=1,表示的是获取当前游标所在行的第一个属性的数据那么就是张三的id。

资源的关闭

获取到ResultSet对象后,使用完后需要关闭资源

close();方法

rs.close();

JDBC_ResultSet类的应用示例,通过封装员工表emp,获取第一行的name属性和id属性并打印

import java.sql.*;//#使用select语句获取表中的数据//ResultSet类得应用public class JDBC_Demo6 {public static void main(String[] args) {Connection conn=null;Statement stmt=null;ResultSet rs=null;//1.导入jar包try {//2.加载驱动Class.forName("com.mysql.jdbc.Driver");//3.创建连接对象conn = DriverManager.getConnection("jdbc:mysql:///db2", "root", "root");//4.获取sql执行对象Statementstmt = conn.createStatement();//5.设置sql语句String sql="select * from emp";//6.执行sql,select语句用executeQuery方法,获取ResultSet对象rs = stmt.executeQuery(sql);//7.处理结果//用ResultSet类里面得next方法移动游标到数据行上rs.next();//用ResultSet类得getInt方法取出当前游标所在行得idint id = rs.getInt("id");//用ResultSet类的getString方法取出当前游标所在的行的第二个列属性,第二个属性为name,是String类的String name = rs.getString(2);//输出结果查看System.out.println(id+"---"+name);} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}finally {//在finally里关闭资源//判断是否为空,不为空证明获取对象成功,要关闭资源if (conn!=null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}if (stmt!=null){try {stmt.close();} catch (SQLException e) {e.printStackTrace();}}if (rs!=null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}}}}

执行结果如下:

分类: 教程分享 标签: 暂无标签

评论

暂无评论数据

暂无评论数据

目录