質問

Java 1.5のMyBatis/Ibatisを使用して、テーブル内の列のリストを取得する必要があります。

役に立ちましたか?

解決

それは典型的な要件ではありません(IBATISまたはDBスキーマを知っているものを使用してアプリケーションの99.99%)。 IbatisはSQLマッパーです。SQLクエリを自分で書く必要があります。また、テーブル内の列の数を提供する標準のSQLクエリ(AFAIK)はありません。

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

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

  2. Quick and Dirty:アドホッククエリを作成します SELECT * FROM MYTABLE LIMIT 1 (DBアナログの制限を交換してください)、ハッシュマップを介してイバティスでそれをマッピングし、DAOでキーの数をカウントします。

他のヒント

MyBatisの場合:結果マップの代わりにresultTypeを使用する必要があります。 resultTypeは、コレクションのサイズを知ることで、ノーを取得できることを知ることにより、収集データタイプを返す必要があります。ハッシュマップを使用している場合は、列以上の列などが終了します。キーで列名も取得できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top