iBATOR - Introduzione

iBATOR è un generatore di codice per iBATIS. iBATOR analizza una o più tabelle del database e genera artefatti iBATIS che possono essere utilizzati per accedere alle tabelle.

Successivamente è possibile scrivere il codice SQL personalizzato o la stored procedure per soddisfare le proprie esigenze. iBATOR genera i seguenti artefatti:

  • File XML SqlMap
  • Classi Java per abbinare la chiave primaria e i campi delle tabelle
  • Classi DAO che utilizzano gli oggetti precedenti (facoltativo)

iBATOR può essere eseguito come file JAR autonomo o come attività Ant o come plug-in di Eclipse. Questo tutorial descrive il modo più semplice per generare i file di configurazione di iBATIS dalla riga di comando.

Scarica iBATOR

Scarica il JAR autonomo se stai utilizzando un IDE diverso da Eclipse. Il JAR autonomo include un'attività Ant per eseguire iBATOR, oppure è possibile eseguire iBATOR dalla riga di comando del codice Java.

Generazione del file di configurazione

Per eseguire iBATOR, segui questi passaggi:

Passo 1

Crea e compila un file di configurazione ibatorConfig.xml in modo appropriato. Come minimo, devi specificare:

  • UN <jdbcConnection> elemento per specificare come connettersi al database di destinazione.

  • UN <javaModelGenerator> elemento per specificare il pacchetto di destinazione e il progetto di destinazione per gli oggetti del modello Java generati.

  • UN <sqlMapGenerator> elemento per specificare il pacchetto di destinazione e il progetto di destinazione per i file mappa SQL generati.

  • UN <daoGenerator> elemento per specificare il pacchetto di destinazione e il progetto di destinazione per le interfacce e le classi DAO generate (è possibile omettere l'elemento <daoGenerator> se non si desidera generare DAO).

  • Almeno un database <table> elemento

NOTE −Vedere la pagina di riferimento del file di configurazione XML per un esempio di un file di configurazione iBATOR.

Passo 2

Salvare il file in una posizione comoda, ad esempio, in: \ temp \ ibatorConfig.xml.

Passaggio 3

Ora esegui iBATOR dalla riga di comando come segue:

java -jar abator.jar -configfile \temp\abatorConfig.xml -overwrite

Dirà a iBATOR di eseguire utilizzando il file di configurazione. Inoltre dirà a iBATOR di sovrascrivere qualsiasi file Java esistente con lo stesso nome. Se desideri salvare qualsiasi file Java esistente, ometti il ​​file−overwrite parametro.

In caso di conflitto, iBATOR salva il file appena generato con un nome univoco.

Dopo aver eseguito iBATOR, è necessario creare o modificare i file di configurazione iBATIS standard per utilizzare il codice appena generato. Ciò è spiegato nella sezione successiva.

Attività dopo l'esecuzione di iBATOR

Dopo aver eseguito iBATOR, è necessario creare o modificare altri artefatti di configurazione di iBATIS. I compiti principali sono i seguenti:

  • Crea o modifica il file SqlMapConfig.xml.
  • Crea o modifica il file dao.xml (solo se stai usando iBATIS DAO Framework).

Ogni attività è descritta in dettaglio di seguito:

Aggiornamento del file SqlMapConfig.xml

iBATIS utilizza un file XML, comunemente denominato SqlMapConfig.xml, per specificare le informazioni per una connessione al database, uno schema di gestione delle transazioni e file XML della mappa SQL utilizzati in una sessione iBATIS.

iBATOR non può creare questo file per te perché non sa nulla del tuo ambiente di esecuzione. Tuttavia, alcuni degli elementi in questo file si riferiscono direttamente agli elementi generati da iBATOR.

Le esigenze specifiche di iBATOR nel file di configurazione sono le seguenti:

  • Gli spazi dei nomi delle istruzioni devono essere abilitati.
  • I file XML della mappa SQL generati da iBATOR devono essere elencati.

Ad esempio, supponiamo che iBATOR abbia generato un file XML di SQL Map denominato MyTable_SqlMap.xml e che il file sia stato inserito nel pacchetto test.xml del progetto. Il file SqlMapConfig.xml dovrebbe contenere queste voci:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
   <!-- Statement namespaces are required for Abator -->
   <settings useStatementNamespaces="true" />

   <!-- Setup the transaction manager and data source that are
   appropriate for your environment
   -->
	
   <transactionManager type="...">
      <dataSource type="...">
      </dataSource>
   </transactionManager>

   <!-- SQL Map XML files should be listed here -->
   <sqlMap resource="test/xml/MyTable_SqlMap.xml" />

</sqlMapConfig>

Se è presente più di un file XML di SQL Map (come è abbastanza comune), i file possono essere elencati in qualsiasi ordine con elementi <sqlMap> ripetuti dopo l'elemento <transactionManager>.

Aggiornamento del file dao.xml

Il framework iBATIS DAO è configurato da un file xml comunemente chiamato dao.xml.

Il framework iBATIS DAO utilizza questo file per controllare le informazioni di connessione al database per DAO e anche per elencare le classi di implementazione DAO e le interfacce DAO.

In questo file, è necessario specificare il percorso del file SqlMapConfig.xml e tutte le interfacce DAO generate da iBATOR e le classi di implementazione.

Ad esempio, supponiamo che iBATOR abbia generato un'interfaccia DAO chiamata MyTableDAO e una classe di implementazione chiamata MyTableDAOImpl e che i file siano stati inseriti nel pacchetto test.dao del progetto.

Il file dao.xml dovrebbe avere queste voci:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE daoConfig PUBLIC "-//ibatis.apache.org//DTD DAO Configuration 2.0//EN" "http://ibatis.apache.org/dtd/dao-2.dtd">

<daoConfig>

   <context>
	
      <transactionManager type="SQLMAP">
         <property name="SqlMapConfigResource" value="test/SqlMapConfig.xml"/>
      </transactionManager>

      <!-- DAO interfaces and implementations should be listed here -->
      <dao interface="test.dao.MyTableDAO" implementation="test.dao.MyTableDAOImpl" />
   </context>
	
</daoConfig>

NOTE − Questo passaggio è necessario solo se sono stati generati DAO per il framework DAO iBATIS.