JavaのMyBatisのjava.lang.U n s p p p o r t e d OperationException異常解決策

1072 ワード

この異常はmybatis xmlに置かれていますが、戻りタイプが対応していません.
今日MyBatisを使用してsql文を実行すると、次のような例外が発生しました.
実行されるsql文の構成情報は次のとおりです.

対応するデータベース・アクセス・レイヤDaoインタフェース・コードは、次のとおりです.
public List getNameByCodition(String productName);

以下に変更する必要があります.


理由はresultTypeがリスト内の要素タイプを表し、リスト自体ではなくdaoのメソッドによって宣言されているためである
public ListgetNameByCodition(String productName);

実はこの問題は開発中、多くの場合に遭遇しますが、注意すればいいので、単一の値をクエリーして、list String集合を返すときは、listを返す汎用タイプに注目します!
ここでStringですが、ここでの結果タイプはListではなくStringです!
これも理解しやすいですが、単一の値の集合ではなく、オブジェクトの集合を返すと、ここでも具体的なオブジェクトに書かれたクラスになるはずです.