Class JDBCTable

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Iterable<java.util.Map<java.lang.String,​java.lang.Object>>, java.util.Collection<java.util.Map<java.lang.String,​java.lang.Object>>, Table

    public class JDBCTable
    extends AbstractTable
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      JDBCTable​(java.lang.String url, java.lang.String tableName, java.lang.String userName, java.lang.String password, java.lang.String... columnsForKeys)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean add​(java.util.Map<java.lang.String,​java.lang.Object> fieldsAndValues)  
      void clear()  
      static JDBCTable connectToHSQLDB​(java.io.File filename, java.lang.String tableName, java.lang.String... columnForKeys)  
      static JDBCTable connectToMySQL​(java.lang.String serverName, int port, java.lang.String databaseName, java.lang.String tableName, java.lang.String userName, java.lang.String password)  
      static JDBCTable connectToMySQL​(java.lang.String serverName, int port, java.lang.String databaseName, java.lang.String tableName, java.lang.String username, java.lang.String password, java.lang.String... columnsForKeys)  
      boolean contains​(java.lang.Object o)  
      java.util.List<java.util.Map<java.lang.String,​java.lang.Object>> getAll​(java.util.Map<java.lang.String,​java.lang.Object> keys)  
      protected java.sql.Connection getConnection()  
      java.util.Map<java.lang.String,​java.lang.Object> getFirst​(java.util.Map<java.lang.String,​java.lang.Object> keys)  
      private void initDatabase​(java.util.Map<java.lang.String,​java.lang.Object> fieldsAndValues)  
      java.util.Iterator<java.util.Map<java.lang.String,​java.lang.Object>> iterator()  
      boolean remove​(java.lang.Object o)  
      int size()  
      boolean tableExists()  
      boolean update​(java.util.Map<java.lang.String,​java.lang.Object> keyFieldsAndValues, java.util.Map<java.lang.String,​java.lang.Object> updatedFieldsAndValues)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        addAll, equals, hashCode, isEmpty, parallelStream, removeIf, spliterator, stream, toArray, toArray, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
    • Field Detail

      • url

        protected java.lang.String url
      • username

        protected java.lang.String username
      • password

        protected java.lang.String password
      • columnsForKeys

        protected java.util.Set<java.lang.String> columnsForKeys
      • tableName

        protected java.lang.String tableName
      • tableExists

        private boolean tableExists
      • connection

        private transient java.sql.Connection connection
      • truncateTableStatement

        private transient java.sql.PreparedStatement truncateTableStatement
      • insertStatements

        protected transient java.util.Map<java.util.Set<java.lang.String>,​java.sql.PreparedStatement> insertStatements
      • updateStatement

        protected transient java.sql.PreparedStatement updateStatement
      • deleteStatement

        private transient java.sql.PreparedStatement deleteStatement
      • selectStatement

        protected transient java.sql.PreparedStatement selectStatement
      • countStatement

        private transient java.sql.PreparedStatement countStatement
      • keyStatement

        private transient java.sql.PreparedStatement keyStatement
    • Constructor Detail

      • JDBCTable

        public JDBCTable​(java.lang.String url,
                         java.lang.String tableName,
                         java.lang.String userName,
                         java.lang.String password,
                         java.lang.String... columnsForKeys)
    • Method Detail

      • getConnection

        protected java.sql.Connection getConnection()
                                             throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • tableExists

        public boolean tableExists()
                            throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • initDatabase

        private void initDatabase​(java.util.Map<java.lang.String,​java.lang.Object> fieldsAndValues)
                           throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • connectToMySQL

        public static JDBCTable connectToMySQL​(java.lang.String serverName,
                                               int port,
                                               java.lang.String databaseName,
                                               java.lang.String tableName,
                                               java.lang.String username,
                                               java.lang.String password,
                                               java.lang.String... columnsForKeys)
                                        throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • connectToMySQL

        public static JDBCTable connectToMySQL​(java.lang.String serverName,
                                               int port,
                                               java.lang.String databaseName,
                                               java.lang.String tableName,
                                               java.lang.String userName,
                                               java.lang.String password)
                                        throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • connectToHSQLDB

        public static JDBCTable connectToHSQLDB​(java.io.File filename,
                                                java.lang.String tableName,
                                                java.lang.String... columnForKeys)
      • add

        public boolean add​(java.util.Map<java.lang.String,​java.lang.Object> fieldsAndValues)
      • getFirst

        public java.util.Map<java.lang.String,​java.lang.Object> getFirst​(java.util.Map<java.lang.String,​java.lang.Object> keys)
      • getAll

        public java.util.List<java.util.Map<java.lang.String,​java.lang.Object>> getAll​(java.util.Map<java.lang.String,​java.lang.Object> keys)
      • size

        public int size()
      • contains

        public boolean contains​(java.lang.Object o)
      • iterator

        public java.util.Iterator<java.util.Map<java.lang.String,​java.lang.Object>> iterator()
      • remove

        public boolean remove​(java.lang.Object o)
      • clear

        public void clear()
      • update

        public boolean update​(java.util.Map<java.lang.String,​java.lang.Object> keyFieldsAndValues,
                              java.util.Map<java.lang.String,​java.lang.Object> updatedFieldsAndValues)