Class JDBCFormatter

java.lang.Object
uk.ac.starlink.table.jdbc.JDBCFormatter

public class JDBCFormatter extends Object
Handles conversion of a StarTable into a new table in an RDBMS.
Author:
Mark Taylor
  • Constructor Details

  • Method Details

    • getCreateStatement

      public String getCreateStatement(String tableName)
      Returns the text of a suitable CREATE TABLE statement.
      Parameters:
      tableName - name of the new SQL table
    • getInsertStatement

      public String getInsertStatement(String tableName)
      Returns the text of a suitable parametric statement for inserting a row. Data placeholders for writable columns will be represented by '?' characters.
      Parameters:
      tableName - name SQL table for insertion
    • createJDBCTable

      public void createJDBCTable(String tableName, WriteMode mode) throws IOException, SQLException
      Writes data from this formatter's input table into the database. This method is somewhat misnamed - depending on the write mode, a new table may or may not be created in the database.
      Parameters:
      tableName - name of the new table to write to in the database
      mode - mode for writing records
      Throws:
      IOException
      SQLException
    • getColumn

      public JDBCFormatter.SqlColumn getColumn(int icol)
      Returns the SqlColumn object describing how a given column of this formatter's input table will be written into the RDBMS. If the value for a given column is null, it means that column cannot, and will not, be written.
      Parameters:
      icol - column index in input table
      Returns:
      SQL column description
    • getSqlType

      public int getSqlType(Class<?> clazz)
      Returns an SQL type code suitable for a given class.
      Parameters:
      clazz - java class of data
      Returns:
      one of the Types codes
    • typeName

      public String typeName(int sqlType) throws SQLException
      Returns the name used by the connection's database to reference a JDBC type.
      Parameters:
      sqlType - type id (as per Types)
      Returns:
      connection-specific type name
      Throws:
      SQLException
    • main

      public static void main(String[] args) throws IOException, SQLException
      Main method. Not really intended for use but may be helpful with debugging.
      Throws:
      IOException
      SQLException