come ottenere i metadati di colonna in mybatis
Domanda
Ho bisogno di ottenere l'elenco di colonne in una tabella utilizzando mybatis / iBATIS in Java 1.5.
Soluzione
Non è un requisito tipico (99,99% di applicazioni che utilizzano iBatis o qualsiasi altra cosa ORM conosce lo schema DB). iBatis è un mapper SQL, è necessario scrivere la query SQL da soli. E non c'è query SQL standard (per quanto ne so) che fornisce il numero di colonne in una tabella.
Posso solo suggerire due approcci:
-
Fare un selezionando query SQL dalle tabelle del catalogo. Questo è il modo normale di sapere circa la vostra metadati DB. Ma che dipende dalla vostra particolare motore di database. E non è legato al iBatis.
-
veloce e sporco: fare un ad-hoc query di
<. / li>SELECT * FROM MYTABLE LIMIT 1
(sostituire LIMIT per il vostro analogico DB), la mappa che in iBatis attraverso una HashMap, e nel tuo DAO basta contare il numero di tasti
Altri suggerimenti
Per Mybatis: È necessario utilizzare resultType invece di resultMap. resultType deve essere di ritorno tipo di dati raccolta, conoscendo le dimensioni della raccolta non puoi ottenere. di colonne e più oltre, se si sta andando con HashMap è possibile ottenere i nomi delle colonne anche in chiavi.