JDBC_使用ResultSet 执行查询操作(基于oracle数据库)

上篇文章已经使用Statement实现了对数据库的增删改操作,接下来使用ResultSet结果集执行查询操作
步骤如下:
ResultSet:结果集.封装了使用JDNC进行查询的结果
1.调用Statement对象的executeQuery(sql) 可以得到结果集
2.ResultSet返回的实际上就是一张数据表,有一个指针指向数据表的第一行的前面
可以调用next() 方法检测下一行是否有效,若有效该方法返回true,且指针下移。
3.当指针对位到一行时。可以调用getXxx(index) 或getXxx(columnName)
获取每一列的值 例如:getInt(1),getString(“name”)
4/Reslut 当然也需要进行关闭

定义三个变量
Connection conn = null;
Statement statement = null;
ResultSet rs = null;

1.获取Connection连接
conn = JDBCTools.getConnection();

2.获取Statement
statement = conn.createStatement();

3.创建sql语句
String sql = “select * from student where SNO = ‘1001’”;

4.执行查询得到ResultSet
rs = statement.executeQuery(sql);

5.处理ResultSet
while(rs.next()){
String sno = rs.getString(1);
String sname = rs.getString(2);
String ssex = rs.getString(3);
String sdept = rs.getString(4);
System.out.print(sno);
System.out.print(” ” + sname);
System.out.print(” ” + ssex);
System.out.println(” ” + sdept);
}

6.关闭结果集
JDBCTools.release(rs,statement, conn);

这里将关闭和连接的代码封装成了JDBCTools类中,后面有该类完整代码

执行查询代码如下
JDBCTest1.java

package com.atchance.jdbc;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.Driver;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import oracle.jdbc.*;
import oracle.jdbc.driver.*;

public class JDBCTest1 {

    public void testReslutSet() throws Exception{

        //获取 sno = 100 的数据表student的记录并打印

        Connection conn = null;
        Statement statement = null;
        ResultSet rs = null;

        try {
            //1.获取Connection
            conn = JDBCTools.getConnection();

            //2.获取Statement
            statement = conn.createStatement();

            //3.准备SQL
            String sql = "select * from student where SNO = '1001'";

            //4.执行查询得到ResultSet
            rs = statement.executeQuery(sql);
            System.out.println(rs);

            //5.处理ResultSet
            while(rs.next()){
                String sno = rs.getString(1);
                String sname = rs.getString(2);
                String ssex = rs.getString(3);
                String sdept = rs.getString(4);
                System.out.print(sno);
                System.out.print(" " + sname);
                System.out.print(" " + ssex);
                System.out.println(" " + sdept);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        finally{
            //6.关闭结果集
            JDBCTools.release(rs,statement, conn);
        }
    }
    public static void main(String[] arg) throws Exception{
        JDBCTest1 t1 = new JDBCTest1();
        t1.testReslutSet();
    }
}

JDBCTools.java

package com.atchance.jdbc;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class JDBCTools {

    public static void release(ResultSet rs,Statement statement, Connection con) throws SQLException{

        try {
            if(rs != null)
                rs.close();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
        try {
            if(statement != null)
                statement.close();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            if(con != null)
                con.close();
        }
    }

    public static void release(Statement statement, Connection con) throws SQLException{
        try {
            if(statement != null)
                statement.close();
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            if(con != null)
                con.close();
        }
    }
    public static Connection getConnection() throws Exception{

            String driverClass = "oracle.jdbc.driver.OracleDriver";
            String jdbcUrl = "jdbc:oracle:thin:@localhost:1521:ORCL";
            String user = "scott";
            String password = "tiger";

            Driver driver = (Driver)Class.forName(driverClass).newInstance();

            Properties info = new Properties();
            info.put("user", user);
            info.put("password", password);
            Connection connection = driver.connect(jdbcUrl,info);
            return connection;
        }
}

“`

“至此,JDBC连接数据库并进行增删改查四种操作已全部完成
数据库连接以及增删改祥见另两篇文章
使用JDBC中的DriverManager实现数据库的连接
JDBC_使用 Statement 执行更新操作(基于oracle数据库)

你可能感兴趣的:(JDBC,数据库,Java连接数据库)