Spring, Sparametryzowany ResultSetExtractor

0

Witam,

Ostatnio spotkalem sie (na szkoleniu w firmie) z JDBC template przy okazji Spring Framework, gdzie mozna bylo zaimplementowac interfejs ResultSetExtractor w sposob sparametryzowany, np:

public class Extractor implements ResultSetExtractor<My_Object> {
}

Niestety, ale nie jestem w stanie tego zreprodukowac w domu. Jedyne na co mi pozwala kompilator to implementacja ResultSetExctratora w postaci niesparametryzowanej. Czy ktos wie czemu tak sie dzieje? Moze kwestia wersji bibliotek?

Innymi slowy: jak zrobic sparametryzowany ResultSetExtractor? :)

Dzieki z gory,
j4hU

0

rozumiem że chodzi o typy generyczne, wiec ResultSetExtractor nie jest generykiem wiec nie mozesz podac mu typu, ale klasa która go implementuje nie powinna miec z tym problemu:

public class Extractor<my_object> implements ResultSetExtractor {
//implemented methods
}

0

Hej,

Juz sobie poradzilem, okazuje sie ze jest generyczny od ktorejs tam wersji, mialem maly burdel w Maven'ie i dlatego mi ciagnal ze starych bibliotek, dla przykladu ponizej zamieszczam kod z dzialajacej aplikacji:

    private class UsersExtractor implements ResultSetExtractor<List<User>> {

        @Override
        public List<User> extractData(ResultSet rs) throws SQLException,
                DataAccessException {
            List<User> result = new ArrayList<User>();
            while (rs.next()) {
                User user;
                try {
                    user = new User(rs.getString("firstName"),
                            rs.getString("lastName"), rs.getString("login"),
                            rs.getString("password"),
                            readUserType(rs.getString("userType")),
                            readDepartment(rs.getString("department")));
                } catch (ObjectDoesNotExistsException e) {
                    throw new SQLException(e);
                }
                result.add(user);
            }
            return result;
        }

    }

Pozdrawiam,
Jacek

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0