TableMetaData implements TableMetaDataView { @Override public JDBCType getColumnDataType(String columnName) { ColumnMetaData columnMetaData = this.columnMetaDataMap.get(columnName); if (columnMetaData == null) { return JDBCType.NULL; } return columnMetaData.getType(); } TableMetaData(String catalogName, String schemaName, String tableName,
      List<String> keyColumnNames, String quoteString,
      Map<String, ColumnMetaData> columnMetaDataMap); @Override String getQuotedTablePath(); @Override List<String> getKeyColumnNames(); @Override JDBCType getColumnDataType(String columnName); @Override boolean isColumnNullable(String columnName); @Override Set<String> getColumnNames(); @Override String getIdentifierQuoteString();  }
@Test public void verifyColumnDataType() { Map<String, ColumnMetaData> map = new HashMap<>(); map.put("k1", new ColumnMetaData(JDBCType.valueOf(1), false)); map.put("k2", new ColumnMetaData(JDBCType.valueOf(2), false)); dataTypes = map; createTableMetaData(); assertThat(tableMetaData.getColumnDataType("k1")).isEqualTo(JDBCType.valueOf(1)); assertThat(tableMetaData.getColumnDataType("k2")).isEqualTo(JDBCType.valueOf(2)); assertThat(tableMetaData.getColumnDataType("k3")).isEqualTo(JDBCType.NULL); }