Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Main {
    public static void main(String[] args) throws SQLException {
        // DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
        Connection conn = DriverManager.getConnection("jdbc:oracle:oci8:@yourDB", "scott", "tiger");

        Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

        stmt.setFetchSize(1);
        ResultSet rset = stmt.executeQuery("select EMPNO, ENAME, SAL from EMP");
        showProperty(rset);

        while (rset.next()) {
            System.out.println(rset.getInt(1) + " " + rset.getString(2) + " " + rset.getInt(3));
        }
        doSomeChanges(conn);
        // Place the cursor before the first row
        rset.beforeFirst();

        while (rset.next()) {
            System.out.println(rset.getInt(1) + " " + rset.getString(2) + " " + rset.getInt(3));
        }
        rset.close();
        stmt.close();
        cleanup(conn);
        conn.close();
    }

    public static void doSomeChanges(Connection conn) throws SQLException {
        Statement otherStmt = conn.createStatement();
        otherStmt.execute("update emp set sal = sal + 500");
        otherStmt.execute("commit");
        otherStmt.close();
    }

    public static void showProperty(ResultSet rset) throws SQLException {
        switch (rset.getType()) {
        case ResultSet.TYPE_FORWARD_ONLY:
            System.out.println("Result set type: TYPE_FORWARD_ONLY");
            break;
        case ResultSet.TYPE_SCROLL_INSENSITIVE:
            System.out.println("Result set type: TYPE_SCROLL_INSENSITIVE");
            break;
        case ResultSet.TYPE_SCROLL_SENSITIVE:
            System.out.println("Result set type: TYPE_SCROLL_SENSITIVE");
            break;
        default:
            System.out.println("Invalid type");
            break;
        }
        switch (rset.getConcurrency()) {
        case ResultSet.CONCUR_UPDATABLE:
            System.out.println("Result set concurrency: ResultSet.CONCUR_UPDATABLE");
            break;
        case ResultSet.CONCUR_READ_ONLY:
            System.out.println("Result set concurrency: ResultSet.CONCUR_READ_ONLY");
            break;
        default:
            System.out.println("Invalid type");
            break;
        }
        System.out.println("fetch size: " + rset.getFetchSize());
    }

    public static void cleanup(Connection conn) throws SQLException {
        Statement stmt = conn.createStatement();
        stmt.execute("UPDATE EMP SET SAL = SAL - 500");
        stmt.execute("COMMIT");
        stmt.close();
    }
}