Mapowanie do obiektów z bazy danych.

0

Jak w temacie. Tworzę klasę mapowania do obiektów z jdbc, a dokładniej z ResultSet do dowolnego modelu.
Klasa ma wykorzystać dwie adnotacje table i column i na podstawie tych adnotacji, oraz reflekcji ma mapować nazwy z bazy danych.

Co sądzicie o takim rozwiązaniu?

Przeszukałem to forum i znalazłem zmieszczony artykuł w którym jest napisane, żeby robić to ręcznie.
Link do artykułu: https://cezarypiatek.github.io/post/why-i-dont-use-automapper/

W przypadku ręcznego mapowania, musiałbym za każdym razem sprawdzać, czy w klauzuli select występują wybrane kolumny.
Czyli mniej więcej coś takiego, dla każdego pola:

@SuppressWarnings("unchecked")
private static <T> T getValueFromResultSet(final ResultSet rs,
        String columnLabel, T defaultValue) {
    try {
        return (T) rs.getObject(columnLabel);
    } catch (SQLException e) {
        return defaultValue;
    }
}

Założeniem mojego mini projektu ma być lekkość, dlatego nie chce dodawać hibernate / jpa, ani jakiś zewnętrznych dużych bibliotek.
W dodatku tworząc coś własnego, omijam X warstw abstrakcji.

1

Z lekkich maperów istnieją Apache deltaspike (ma też moduł deltaspike-jpa, nie patrz), Jdbi, Jooq, QueryDSL, spark-java, sql2o, MyBatis/iBatis, spring-jdbc
Mogłem coś zapomnieć :)

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