Analog von BeanPropertySqlParameterSource, das mit öffentlichen Feldern umgehen kann

8

Ich habe ein einfaches Modell, dessen Instanzen ich mit Spring JDBCTemplate in MySQL speichern möchte. Ich verwende DAO, die Modellobjekte mit einfachen SQL (% Co_de%) speichert. Gibt es einen Rahmen, der Parameter aus dem Modell extrahieren kann (wenn das Modell nur POJO mit öffentlichen Feldern ist). Also, ich brauche etwas, das Spring's insert into user(id, email...) value (:id, :email...) ähnlich ist, aber mit der Fähigkeit, mit öffentlichen Feldern anstelle von Eigenschaften zu arbeiten.

Beispiel für die Modellklasse:

%Vor%

Ich weiß, dass das Erweitern von BeanPropertySqlParameterSource mein Problem lösen kann, aber ich hoffe, ein existierendes Framework zu finden.

UPD

Implementierung basierend auf AbstractSqlParameterSource :

%Vor%     
Ernest Sadykov 27.07.2015, 13:55
quelle

1 Antwort

1

Wie in meinem Kommentar erwähnt, wenn der Grund dafür, dass ich keine Getter / Setter haben möchte, Code-Unordnung ist, würde ich Lombok empfehlen.

Hier ist eine typische Modellklasse, die von Spring konstruiert werden kann ( @NoArgsConstructor + @Data für Getter und Setter). @Builder und @AllArgsConstructor erlauben die Generierung des Builder-Musters mit allen Feldern.

%Vor%

Hier ist ein Beispiel für einen Spring-Service mit Konstruktorinjektion. Das @RequiredArgsConstructor erstellt einen Konstruktor mit allen nicht initialisierten finalen Feldern und der onConstructor-Parameter fügt die Annotation Spring- @Autowired hinzu. Wenn Sie viele Service-Abhängigkeiten haben, kann dies einige Unordnung entfernen.

%Vor%     
revau.lt 07.10.2015, 09:23
quelle

Tags und Links