JDBC模糊查詢參數的注入的注意點


筆者剛開始是這樣寫sql語句的
String sql="SELECT * FROM bookBasicInfo,bookTypeInfo WHERE
    bookBasicInfo.BelongType=bookTypeInfo.BookTypeID
        AND bookBasicInfo.bookName like %?%";
采用參數注入
ps.setString(1,  bookName);
但是在執行的過程中,java跑出如下異常
java.sql.SQLException: ORA-00911: 無效字符

所以,對於這樣的模糊查詢的注入與一般的參數注入有很大的不同
於是,筆者改成如下形式注入,就成功運行出結果了。
String sql="SELECT * FROM bookBasicInfo,bookTypeInfo WHERE
    bookBasicInfo.BelongType=bookTypeInfo.BookTypeID
        AND bookBasicInfo.bookName like ?";
ps.setString(1,  "%"+bookName+"%");


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM