sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan forespørges efter et postgres heltalsarray i foråret

Du kan bruge java.sql.Array .

Hvis du kun vil have heltalsarray, kan du prøve sådan her (det virker, hvis resultatet indeholder en række):

String SQL = "select item_list from public.items where item_id=1";
Array l = template.queryForObject(SQL, Array.class);
List<Integer> list = Arrays.asList((Integer[]) l.getArray());

Eller brug RowMapper

Foo foo = template.queryForObject(SQL, new RowMapper<Foo>(){
        @Override
        public Foo mapRow(ResultSet rs, int rowNum) throws SQLException {
            Foo foo = new Foo();
            foo.setName(rs.getString("name"));
            foo.setIntegers(Arrays.asList((Integer[]) rs.getArray("item_list").getArray()));
            return foo;
        }
    });

Klasse Foo:

class Foo {
    private String name;
    private List<Integer> integers;

    public String getName() {
        return name;
    }
    // ...
}


  1. 'CONTINUE' nøgleord i Oracle 10g PL/SQL

  2. Tjek om der findes en fil?

  3. Valg af de forskellige værdier fra tre kolonner med maks. en fjerde, hvor der er dubletter

  4. Maksimal størrelse for en SQL Server-forespørgsel? IN klausul? Er der en bedre tilgang