### Question:
ShardingStatement extends AbstractStatementAdapter { @Override public Connection getConnection() throws SQLException { return shardingConnection; } ShardingStatement(final ShardingConnection shardingConnection);  ShardingStatement(final ShardingConnection shardingConnection, final int resultSetType, final int resultSetConcurrency);  ShardingStatement(final ShardingConnection shardingConnection, final int resultSetType, final int resultSetConcurrency, final int resultSetHoldability); @Override Connection getConnection(); @Override ResultSet executeQuery(final String sql); @Override int executeUpdate(final String sql); @Override int executeUpdate(final String sql, final int autoGeneratedKeys); @Override int executeUpdate(final String sql, final int[] columnIndexes); @Override int executeUpdate(final String sql, final String[] columnNames); @Override boolean execute(final String sql); @Override boolean execute(final String sql, final int autoGeneratedKeys); @Override boolean execute(final String sql, final int[] columnIndexes); @Override boolean execute(final String sql, final String[] columnNames); @Override ResultSet getGeneratedKeys(); @Override ResultSet getResultSet();  }### Answer:
@Test public void assertGetConnection() throws SQLException { for (ShardingDataSource each : shardingDataSources.values()) { try ( Connection connection = each.getConnection(); Statement stmt = connection.createStatement()) { assertThat(stmt.getConnection(), is(connection)); } } }