Pregunta

necesito para obtener la lista de columnas en una tabla usando mybatis / iBatis en Java 1.5.

¿Fue útil?

Solución

Eso no es un requisito típico (99,99% de las aplicaciones que utilizan iBatis o lo que sea ORM conoce el esquema de base de datos). iBatis es un asignador de SQL, debe escribir la consulta SQL a sí mismo. Y no hay ninguna consulta SQL estándar (que yo sepa) que le da el número de columnas en una tabla.

Sólo puedo sugerir dos enfoques:

  1. Hacer una consulta SQL de selección de las tablas del catálogo. Esa es la forma normal de saber acerca de su metadatos DB. Pero eso depende de su motor de base de datos en particular. Y no está relacionado con iBatis.

  2. rápido y sucio: crea un ad-hoc de consulta SELECT * FROM MYTABLE LIMIT 1 (sustituir LÍMITE para su analógico DB), el mapa que en iBatis a través de un HashMap, y en su DAO simplemente contar el número de teclas

    <. / li>

Otros consejos

Para mybatis: Es necesario utilizar resultType en lugar de resultMap. resultType debe ser de devolver el tipo de datos de recogida, si se conoce el tamaño de la colección no se puede conseguir. de columnas y si encima vas con HashMap puede obtener los nombres de columna demasiado en las claves.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top