我需要使用Java 1.5中的MyBatis/Ibatis在表中获取列列表。

有帮助吗?

解决方案

这不是典型的要求(使用IBATIS或任何ORM知道DB模式的应用程序的99.99%)。 Ibatis是SQL映射器,您必须自己编写SQL查询。并且没有标准的SQL查询(AFAIK)为您提供表中的列数。

我只能建议两种方法:

  1. 制作从目录表中选择的SQL查询。这是了解您的数据库元数据的正常方式。但这取决于您的特定数据库引擎。这与ibatis无关。

  2. 快速而肮脏:进行临时查询 SELECT * FROM MYTABLE LIMIT 1 (替换DB模拟的限制),映射通过hashmap中的IBATIS,在您的DAO中仅计算键的数量。

其他提示

对于mybatis:您需要使用ResultType而不是ResultMap。结果类型必须是返回收集数据类型的,通过知道收集的大小,您可以获得否。列,如果要使用hashmap,则可以在钥匙中获得列名。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top