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
:
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.
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.
Tags und Links java spring-jdbc