1

java1.5でmybatis/ibatisを使用して、テーブルの列のリストを取得する必要があります。

4

2 に答える 2

2

これは一般的な要件ではありません (iBatis または DB スキーマを認識している ORM を使用するアプリケーションの 99.99%)。iBatis は SQL マッパーです。SQL クエリを自分で作成する必要があります。また、テーブル内の列数を提供する標準 SQL クエリ (AFAIK) はありません。

私は2つのアプローチしか提案できません:

  1. カタログ テーブルから選択して SQL クエリを作成します。これは、DB メタデータを知る通常の方法です。ただし、それは特定のデータベース エンジンによって異なります。iBatisとは関係ありません。

  2. 簡単で汚い: アドホック クエリを作成しSELECT * FROM MYTABLE LIMIT 1(DB アナログの LIMIT を置き換えます)、それを HashMap を介して iBatis にマップし、DAO でキーの数を数えるだけです。

于 2010-10-01T17:02:47.403 に答える
0

Mybatis の場合: resultmap の代わりに resultType を使用する必要があります。resultType は、取得できないコレクションのサイズを知ることによって、コレクション データ型を返す必要があります。列の数など、HashMap を使用している場合は、列名もキーで取得できます。

于 2011-11-15T08:33:41.323 に答える