MyBatisのことで、SQLの実装では、エラー:java.lang.NumberFormatException:入力文字列の場合:「F」
SQLでのXMLは言います:
< もしテスト= "MYKEY == 'P'" > と`Field1` =#{フィールド名} </ なら>
Fは、理解していなかったフィールド名の値がステップデバッグコードによって工程の後に、NumberFormatExceptionが、明らかに文字を報告する場所:
\ .m2リポジトリ\ \ orgの\ MyBatisの\ MyBatisの3.5.2 \ MyBatisの-3.5.2.jar \!\ orgの\ apacheの\ iBATISは\ OGNL \ ASTNotEq.class
エラーコード(OgnlOps.equal):
保護されたオブジェクトgetValueBody(OgnlContextコンテキスト、オブジェクトのソース)がスローOgnlException { 対象V1 = この ._children [0 ]以降.getvalue(コンテキスト、ソース)。 オブジェクトV2 = この ._children [1 ]以降.getvalue(コンテキスト、ソース) 返す OgnlOps.equal(V1、V2)を?Boolean.FALSE:にBoolean.TRUE。 }
V1、V2の値は以下でした:
V2の値は、タイプのV2を与えるために、Pとなります。
<テスト= "MYKEY == 'P'" 場合>調整試して後ろに、理解していなかった:<テスト= "MYKEY == 'PP'" 場合>余分Pを追加しました
<もしテスト=「MYKEY ==」P「」>二重引用符の代わりに、単一引用符(または:次に、単一の文字であることが判明した場合、文字のための治療法を統一して、に適応しようとすると推定MyBatisのと、文字列のV2を入力エスケープ文字)、OKではありません
単一および二重引用符を変換するようにしてください(二重引用符でテストをアウトソーシングは単一引用符に変更されます、Pの文字が二重引用符に調整します):
< もしテスト= 'MYKEY == "P"' > と`Field1` =#{フィールド名} </ なら>
試してみて、正常に機能し