Migrazione da jdbc a MyBatis - consiglio necessario

2

Sto lavorando su un'applicazione Java (un ERP) che è diventata abbastanza grande e continuerà a crescere per i prossimi due anni. Abbiamo utilizzato Spring-JDBC per il nostro livello DAO. Ma la quantità di codice boilerplate che deve essere scritta ci sta rallentando in modo significativo, per non parlare dell'introduzione di bug stupidi nel sistema.

Quindi ora stiamo cercando una soluzione che:

  • Riduci la quantità di tempo che dobbiamo dedicare al livello DAO

  • Non ha una curva di apprendimento molto ripida

  • Ci dà il controllo sulle nostre query, come abbiamo fatto con JDBC.

  • Dovremmo poter eseguire il porting del codice esistente part-by-part, non tutto in una volta.

Pensavo che MyBatis sarebbe stata una buona scelta, ma non sono sicuro che soddisferà tutte le nostre esigenze. In particolare, sarebbe in grado di lavorare a fianco del nostro codice Spring-JDBC senza creare problemi nella gestione delle transazioni, nella gestione della concorrenza ecc.?

Modifica: ho dimenticato di menzionare che stiamo utilizzando Spring-AOP per la gestione delle transazioni, che preferiremmo continuare con.

Grazie!

    
posta Akshay 21.08.2012 - 16:52
fonte

2 risposte

1

Le nostre app utilizzano Spring e iBatis. (bene il 99% di tutto il resto, abbiamo ancora del codice jdbc che non è stato ancora trasferito). Stiamo anche utilizzando Spring AOP per la gestione di txn.

In breve, MyBatis + Spring AOP funzionerà per te. Funziona bene anche con DBUnit per i test di integrazione DAO.

    
risposta data 21.08.2012 - 19:06
fonte
1

MyBatis è una buona soluzione per determinati problemi.

Puoi ancora usare spring-aop con MyBatis come in spring-jdbc.

Ci vorrà molto meno, per migrare le tue query da Spring-JDBC a MyBatis. MyBatis è molto facile da apprendere e fornisce agli Object Mapper la conversione automatica dei dati di query SQL nativi in pojos. Se stai usando spring-jdbc, hai già java bean, quelli che puoi riutilizzare con MyBatis.

    
risposta data 21.08.2012 - 18:22
fonte

Leggi altre domande sui tag