MyBatisのlikeファジイクエリには特殊文字(、、%)が含まれています.

469 ワード

参考プロジェクトのテストの时、テストはこのようなバグを発见して、その时少し蒙圏して、度娘の后で、やっと知っていて、もとは、キーワード_、\、%を検索して、転义してから使う必要があります.本人javaプロジェクトはmybatisを使用しているので、検索時にこれらの特殊文字をそれぞれ\_、\\、\%に変換します.ここでもエスケープが必要なので、具体的にはコードでは\\\\_、\\\\\\\\、\\\\%となり、特殊文字を含むクエリー文字列をクエリーします.あるいは、もう1つのより便利な操作は、特殊文字の前に/を付け、特殊文字はそれぞれ/_、/\、/%に変換され、後端mybatisにescapeを加える.
 ca.ARTICLE_TITLE LIKE CONCAT('%',#{articleTitle},'%') escape '/'