code: public int getLowercaseTableNames() throws SQLException {
      if (lowercaseTableNames == -1) {
        try (Statement st = createStatement()) {
          try (ResultSet rs = st.executeQuery("select @@lower_case_table_names")) {
            rs.next();
            lowercaseTableNames = rs.getInt(1);
          }
        }
      }
      return lowercaseTableNames;
    }
docs: Are table case sensitive or not . Default Value: 0 (Unix), 1 (Windows), 2 (Mac OS X). If set to
  0 (the default on Unix-based systems), table names and aliases and database names are compared
  in a case-sensitive manner. If set to 1 (the default on Windows), names are stored in lowercase
  and not compared in a case-sensitive manner. If set to 2 (the default on Mac OS X), names are
  stored as declared, but compared in lowercase.
  
  @return int value.
  @throws SQLException if a connection error occur