Datenbankzugriff vom Modul aus
Author: stephang
Publication Date: 5/8/2013 15:21
Hallo Zusammen,
ich möchte gerne aus einem Modul heraus auf die an FirstSpirit angeschlossene MySQL Datenbank zugreifen bzw. einfach nur alle Zeilen einer Spalte in einer definierten Tabelle auslesen. Ist es möglich, im Modul nicht die Datenbank direkt via JDBC zu befragen, sondern FirstSpirit? In FirstSpirit ist ja bereits alles konfiguriert und hat selbst ein Implementierung zur Abfrage der Datenbank? Da könnte ich die doch nutzen, oder?
Leider habe ich keine entsprechende API hierfür gefunden. Potentiell wäre der QueryAgent geeignet, jedoch sehe ich keine Möglichkeit die Abfrage auf eine Tabelle in der Datenbank zu beschränken.
Hat jemand eine Idee? Oder muss ich wirklich eine direkte Verbindung vom Modul zur Datenbank via JDBC aufbauen?
Vielen Dank für Anregungen im Voraus!
Tags: external_database, module_development
-
Author: stephang - 5/17/2013 16:42
Hallo Sebastian,
der von dir beschrieben Weg hat mich ans Ziel geführt. Vielen Dank!
Hier mein Code:
import de.espirit.firstspirit.access.store.Store;
import de.espirit.firstspirit.access.store.Store.Type;
import de.espirit.firstspirit.access.store.templatestore.Query;
import de.espirit.firstspirit.access.store.templatestore.Schema;
import de.espirit.firstspirit.agency.SpecialistsBroker;
import de.espirit.firstspirit.agency.StoreAgent;
import de.espirit.firstspirit.service.value.ValueService;
import de.espirit.or.EntityList;
import de.espirit.or.Session;
import de.espirit.or.schema.Entity;
...
StoreAgent storeAgent = broker.requestSpecialist(StoreAgent.TYPE);
Store store = storeAgent.getStore(Type.TEMPLATESTORE);
Query query = (Query) store.getStoreElement(16060);
Schema schema = query.getSchema();
Session session = schema.getSession();
EntityList results = session.executeQuery(query.getSelectStatement());
Iterator<Entity> resultsIter = results.iterator();
while (resultsIter.hasNext())
{
Entity element = resultsIter.next();
....
}
0
Vous devez vous connecter pour laisser un commentaire.
Commentaires
1 commentaire