Poiché la domanda si riferisce a il mio commento , ecco cosa avevo in mente di scriverlo.
Prima di tutto, è derivato dal contesto della tua domanda originale. In altre circostanze potrei dare un consiglio diverso. Il punto che mi ha suggerito MyBatis è questo:
...we encountered some performance problems.
We decided to drop hibernate in favor of plain Jdbc to gain database performance...
In uno dei progetti precedenti, il nostro team ha preso in considerazione l'idea di trasferirsi da Hibernate per i motivi che descrivi. Simile a te, stavamo per passare a JDBC, ma i colleghi di un altro progetto ci hanno consigliato MyBatis. Il team ha deciso di fare un tentativo, mantenendo JDBC come opzione di fallback nel caso in cui le cose andassero male.
In quel momento, non sapevo nulla di MyBatis ma avevo abbastanza esperienza con JDBC per essere sicuro che avrebbe fatto il lavoro. Nonostante ciò, ho sostenuto con forza l'idea di provare MyBatis, la ragione principale è che, secondo la mia esperienza passata, la quantità di codice boilerplate che avremmo dovuto scrivere con JDBC sarebbe stata scoraggiante.
- Per essere onesti, mi piace JDBC perché è semplice da capire, affidabile e dà una buona sensazione di controllo sull'interazione del database, ma il prezzo che si paga è davvero alto. Le mie dita iniziano a dolere ogni volta che ricordo quanto sia stato necessario scrivere una piastra calda con JDBC.
Comunque, abbiamo provato MyBatis e ha funzionato come pubblicizzato. Ecco perché ho scritto il commento che mi chiedi.
Nel caso in cui se ti aspetti che fornisca una panoramica dettagliata della tecnologia, o in qualche modo elogiate la sua superiorità - mi spiace di non poterlo fare. Se potessi, lo scriverei già in una risposta separata alla tua domanda originale, invece di dare un breve commento. Ho accennato che non sapevo nulla di MyBatis all'epoca - beh, ne ho ancora poche conoscenze scusate. La transizione da Hibernate è stata eseguita da altri membri del team e non ha avuto alcun impatto sul codice su cui ho lavorato. Ho solo ricordato i key-takeaway (in base ai quali ho fatto il mio commento), ovvero che 1) MyBatis ha risolto i problemi che avevamo con Hibernate, 2) non ha introdotto problemi e 3) ci ha permesso di evitare di scrivere codice I di codice mi aspettavo nel caso in cui passiamo a JDBC. Questo è tutto.