JavaのMyBatisのjava.lang.U n s p p p o r t e d OperationException異常解決策
1072 ワード
この異常はmybatis xmlに置かれていますが、戻りタイプが対応していません.
今日MyBatisを使用してsql文を実行すると、次のような例外が発生しました.
実行されるsql文の構成情報は次のとおりです.
対応するデータベース・アクセス・レイヤDaoインタフェース・コードは、次のとおりです.
以下に変更する必要があります.
理由はresultTypeがリスト内の要素タイプを表し、リスト自体ではなくdaoのメソッドによって宣言されているためである
実はこの問題は開発中、多くの場合に遭遇しますが、注意すればいいので、単一の値をクエリーして、list String集合を返すときは、listを返す汎用タイプに注目します!
ここでStringですが、ここでの結果タイプはListではなくStringです!
これも理解しやすいですが、単一の値の集合ではなく、オブジェクトの集合を返すと、ここでも具体的なオブジェクトに書かれたクラスになるはずです.
今日MyBatisを使用してsql文を実行すると、次のような例外が発生しました.
実行されるsql文の構成情報は次のとおりです.
対応するデータベース・アクセス・レイヤDaoインタフェース・コードは、次のとおりです.
public List getNameByCodition(String productName);
以下に変更する必要があります.
理由はresultTypeがリスト内の要素タイプを表し、リスト自体ではなくdaoのメソッドによって宣言されているためである
public ListgetNameByCodition(String productName);
実はこの問題は開発中、多くの場合に遭遇しますが、注意すればいいので、単一の値をクエリーして、list String集合を返すときは、listを返す汎用タイプに注目します!
ここでStringですが、ここでの結果タイプはListではなくStringです!
これも理解しやすいですが、単一の値の集合ではなく、オブジェクトの集合を返すと、ここでも具体的なオブジェクトに書かれたクラスになるはずです.