Hier finden Sie eine Aufschlüsselung, wie Sie Daten aus einer Datenbank mit Struts 2 abrufen und wichtige Überlegungen:
1. Datenbank -Setup
* Verbindung: Stellen Sie eine Verbindung zu Ihrer Datenbank her. Sie werden brauchen:
* Datenbanktreiber (z. B. MySQL Connector/J)
* Verbindungsdetails (Host, Datenbankname, Benutzername, Passwort)
* SQL -Abfragen: Erstellen Sie die SQL -Anweisungen, um die benötigten Daten abzurufen.
2. Struts 2 Aktionsklasse
* Aktion: Erstellen Sie eine Java -Klasse, die die "actionupport- Diese Klasse wird die Datenbankinteraktion verarbeiten.
* Datenbankinteraktion: Implementieren Sie die folgenden Schritte in Ihrer Aktionsklasse:
* Datenzugriffsschicht (DAO): Entwerfen Sie eine separate DAO -Klasse (oder verwenden Sie eine vorhandene), um Datenbankinteraktionen zu verkörpern. Dies fördert die Wiederverwendbarkeit und Wartbarkeit von Code.
* Dao -Methoden: Erstellen Sie Methoden in der DAO -Klasse für die Durchführung von Datenbankvorgängen wie das Abrufen von Daten.
* Aktionsmethode: Rufen Sie in Ihrer Aktionsklasse Ihrer Struts 2 die DAO -Methoden an, um Daten abzurufen.
* Daten populieren: Speichern Sie die abgerufenen Daten in Java -Objekte oder Datenstrukturen.
3. JavaBeans (Modell)
* JavaBeans erstellen: Definieren Sie Java -Klassen (Pojos), um die Daten darzustellen, die Sie aus der Datenbank abrufen.
* Mapping: Zeichnen Sie die Datenbankspalten den Javabäeneigenschaften ab.
4. Struts 2 Konfiguration (Struts.xml)
* Action Mapping: Konfigurieren Sie die Action Mapping für Ihre Struts 2 -Aktionsklasse in der Datei "Struts.xml".
* Ergebnis: Geben Sie einen Ergebnistyp an (z. B. "Dispatcher", "Json") basierend darauf, wie Sie die abgerufenen Daten präsentieren möchten.
Beispielcode
`` `Java
// Dao -Klasse
öffentliche Klasse productdao {
öffentliche Liste getProducts () {
LIST products =new ArrayList <> ();
try (Verbindung conn =driverManager.getConnection ("JDBC:MySQL:// localhost:3306/mydatabase", "Benutzer", "Passwort");
PrepedStatement STMT =CONN.PREPARESTATEMENT ("SELECT * aus Produkten")) {
ResultSet rs =stmt.executeQuery ();
while (rs.Next ()) {
Produktprodukt =neues Produkt ();
product.setId (rs.getInt ("id"));
product.setName (rs.getString ("name"));
product.setPrice (rs.getDouble ("Preis"));
products.add (Produkt);
}
} catch (sqlexception e) {
E. printstacktrace ();
}
Produkte zurückgeben;
}
}
// Aktionsklasse
ProductAction für öffentliche Klasse erweitert die AktionSverpackung {
Private List Produkte;
private productdao productdao =new ProductDao ();
public String execute () {
products =productdao.getProducts ();
Erfolgserfolg;
}
öffentliche Liste getProducts () {
Produkte zurückgeben;
}
}
// Produktbohne
PUBLIC CLASSE PRODUKT {
private int id;
privater Zeichenfolge Name;
privater Doppelpreis;
// Getter und Setzer
}
// Struts.xml
/webinf/jsp/products.jsp
`` `
Wichtige Überlegungen:
* Datenbankverbindungsmanagement: Verwenden Sie das Verbindungsbad, um die Leistung und das Ressourcenmanagement zu verbessern.
* Sicherheit: Schützen Sie Ihre Datenbankanmeldeinformationen und verwenden Sie vorbereitete Aussagen, um SQL -Injektionsanfälligkeiten zu verhindern.
* Transaktionen: Verwenden Sie Transaktionen, um die Datenintegrität zu gewährleisten, insbesondere für mehrere Datenbankvorgänge.
* Fehlerbehandlung: Verwenden Sie die Datenbankausnahmen anmutig und geben Sie dem Benutzer ein geeignetes Feedback.
* Leistung: Optimieren Sie Ihre SQL -Abfragen und berücksichtigen Sie Caching -Mechanismen für häufig zugängliche Daten.
Tipps:
* Frameworks verwenden: Erwägen Sie, ein ORM (Object-Relational Mapping) -Regeln wie Hibernate oder MyBatis zu verwenden, um die Datenbankinteraktionen zu vereinfachen.
* Abhängigkeitsinjektion: Verwenden Sie die Abhängigkeitsinjektion, um Ihre DAO und andere Ressourcen zu verwalten.
* Tests: Schreiben Sie Unit -Tests, um Ihre Datenbankvorgänge zu überprüfen.
Lassen Sie mich wissen, ob Sie eine bestimmte Datenbank -Setup oder eine Struts 2 -Konfiguration im Auge haben. Ich werde gerne maßgeschneiderte Beispiele liefern.