Domanda

Ho bisogno di ottenere l'elenco di colonne in una tabella utilizzando mybatis / iBATIS in Java 1.5.

È stato utile?

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:

  1. 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.

  2. veloce e sporco: fare un ad-hoc query di 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

    <. / li>

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top