1

我需要在 java 1.5 中使用 mybatis/ibatis 获取表中的列列表。

4

2 回答 2

2

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

我只能建议两种方法:

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

  2. 又快又脏:做一个临时查询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 回答