The DBLOAD project

A project for loading database tables.

If you need some informations where all the time goes by:

Enable the log for the following classes:

  • de.dbload.impl.DbloadSqlInsert logs on info the name of the table, number of rows and the time for the inserts.
  • de.dbload.jdbc.PreparedSqlInsertStatement logs on debug the data and the insert statement.

    Here is an example for the log4j logger:

    log4j.logger.de.betoffice.database.data = info
    log4j.logger.de.dbload.jdbc.PreparedSqlInsertStatement = debug
    
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
        new String[] {
            "classpath:betoffice-datasource.xml",
            "classpath:betoffice-persistence.xml",
            "classpath:my_connection_properties.xml", });
    Object databaseMaintenanceService = context
        .getBean("databaseMaintenanceService");
    

    betoffice-datasource.xml definiert eine DataSource. Für den Einsatz in einem Web-Container würde man hier von den Default-Einstellungen weg gehen und eher die Datasource über JNDI beziehen und dies in einer eigenen Spring-Datasource Konfiguration verdrahten. Die Datei betoffice-persistence.xml kann in der Regel so übernommen werden, außer man möchte die Transaktionssteuerung ändern. Die Datei my_connection_properties.xml könnte dabei folgenden Aufbau haben:

      <bean id="myProperties"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location">
          <value>classpath:betoffice.properties</value>
        </property>
      </bean>
    

    Es wird also eine Property Datei herangezogen, die die entsprechenden Platzhalter in den anderen Konfigurationen ersetzt.

    Nach erfolgreicher Konfigurationsauswahl stehen dann die folgenden Service Klassen, die sich im Paket de.winkler.betoffice.service wiederfinden, zur Verfügung:

    • MasterDataManagerService. Bean ID: masterDataManagerService

      Verwaltung der Stammdaten der Anwendung, wie Teilnehmer, Mannschaften, Gruppentypen.

    • SeasonManagerService. Bean ID: seasonManagerService

      Verwaltung der Daten einer Meisterschaft, wie Teilnehmer und Mannschaftszuordnung.

    • Tippservice. Bean ID: tippService

      Service zur Abgabe von Spieltipps.

    • DatabaseMaintenanceService. Bean ID: databaseMaintenanceService

      Wartungs-Service. Über diesen Service können direkt HSQL oder SQL Befehle an die Datenbank abgesetzt werden.

TODOs / Vorschläge

  • Für Version 1.2 eine Storage DSL für Finder und Factory Use-Cases.