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.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;

public class Main {
    public static void main(String[] args) throws Exception {
        Connection conn = getConnection();
        conn.setAutoCommit(false);
        Statement st = conn.createStatement();

        st.executeUpdate("create table survey (id int, name VARCHAR(30) );");
        st.addBatch("DELETE FROM survey");

        st.addBatch("INSERT INTO survey(id, name) " + "VALUES(444, 'ginger')");
        // we intentionally pass a table name (animals_tableZZ)
        // that does not exist
        st.addBatch("INSERT INTO survey(id, name) " + "VALUES(555, 'lola')");
        st.addBatch("INSERT INTO survey(id, name) " + "VALUES(666, 'freddy')");

        // Execute the batch
        int[] updateCounts = st.executeBatch();

        checkUpdateCounts(updateCounts);

        // since there were no errors, commit
        conn.commit();

        ResultSet rs = st.executeQuery("SELECT * FROM survey");
        outputResultSet(rs);

        rs.close();
        st.close();
        conn.close();
    }

    public static void checkUpdateCounts(int[] updateCounts) {
        for (int i = 0; i < updateCounts.length; i++) {
            if (updateCounts[i] >= 0) {
                System.out.println("OK; updateCount=" + updateCounts[i]);
            } else if (updateCounts[i] == Statement.SUCCESS_NO_INFO) {
                System.out.println("OK; updateCount=Statement.SUCCESS_NO_INFO");
            } else if (updateCounts[i] == Statement.EXECUTE_FAILED) {
                System.out.println("Failure; updateCount=Statement.EXECUTE_FAILED");
            }
        }
    }

    private static void outputResultSet(ResultSet rs) throws Exception {
        ResultSetMetaData rsMetaData = rs.getMetaData();
        int numberOfColumns = rsMetaData.getColumnCount();
        for (int i = 1; i < numberOfColumns + 1; i++) {
            String columnName = rsMetaData.getColumnName(i);
            System.out.print(columnName + "   ");

        }
        System.out.println();
        System.out.println("----------------------");

        while (rs.next()) {
            for (int i = 1; i < numberOfColumns + 1; i++) {
                System.out.print(rs.getString(i) + "   ");
            }
            System.out.println();
        }

    }

    private static Connection getConnection() throws Exception {
        Class.forName("org.hsqldb.jdbcDriver");
        String url = "jdbc:hsqldb:mem:data/tutorial";

        return DriverManager.getConnection(url, "sa", "");
    }
}