JDBC模糊查询参数的注入的注意点

Posted LeanOnMe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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+"%");











以上是关于JDBC模糊查询参数的注入的注意点的主要内容,如果未能解决你的问题,请参考以下文章

关于jdbc预编译下模糊查询的写法

asp实现不了模糊查询,一点查询,全部出来了

Map和模糊查询拓展

mybatis模糊查询防止SQL注入

jsp如何实现模糊查询

在JDBC中实现SQL语句的模糊查询