java.lang.NumberFormatException:入力文字列の場合: "F"

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` =#{フィールド名} 
                    </ なら>

 

試してみて、正常に機能し

おすすめ

転載: www.cnblogs.com/Wicher-lsl/p/11535942.html