我需要在 java 1.5 中使用 mybatis/ibatis 获取表中的列列表。
问问题
4878 次
2 回答
2
这不是一个典型的要求(99.99% 的应用程序使用 iBatis 或任何 ORM 知道 DB 模式)。iBatis 是一个 SQL 映射器,您必须自己编写 SQL 查询。并且没有标准的 SQL 查询 (AFAIK) 可以为您提供表中的列数。
我只能建议两种方法:
从目录表中进行选择进行 SQL 查询。这是了解您的数据库元数据的正常方式。但这取决于您的特定数据库引擎。而且它与 iBatis 无关。
又快又脏:做一个临时查询
SELECT * FROM MYTABLE LIMIT 1
(将 LIMIT 替换为你的数据库模拟),通过 HashMap 在 iBatis 中映射它,在你的 DAO 中只计算键的数量。
于 2010-10-01T17:02:47.403 回答
0
对于Mybatis:需要使用resultType 而不是resultmap。resultType 必须是返回集合的数据类型,知道集合的大小就可以得到否。如果您要使用 HashMap,则可以在列中获取更多列名,也可以在键中获取列名。
于 2011-11-15T08:33:41.323 回答