2016-12-15 13 views
0

私はspring-boot-mybatis-starterを使用しています。この時点で私はmybatisにかなり精通していますが、結果の列の種類に関する情報を得る可能性を探しています。出来ますか ?Mybatis - タイプ情報で結果を取得

たとえば、私はHashmap<String, Object> resultsを取得しています - を使用していないObjectの種類を知りたいと思います。

アイデア?

答えて

0

あなたは結果で実際のJavaタイプを知りたい場合は、次のClass c = null == results.get("columnName") ? null : results.get("columnName").getClass();

あなたはSQLの種類について知りたい場合は、私はあなたができない恐れています。これには、結果セットのメタデータにアクセスする必要があります。これはMybatisの仕事です。マッピング処理では、カスタム・タイプ・ハンドラを使用する場合にのみ制御できますが、非常に特殊な場合に使用されます。 少なくとも95%の使用例では、Mybatisは標準SQL型を単純なJava型にマップします。私が知る限り、マッピングクラスにはログはありません。 (Mybatisは私の意見ではログがほとんどありません)。

この質問の背後にある目的を説明すると役立つ可能性があります。

0

次のように、情報スキーマからテーブルの列タイプを取得できます。

SELECT column_name, column_type 
FROM INFORMATION_SCHEMA.columns 
where table_schema='[Table_schema]' and table_name='[Table_Name]'. 

希望します。