如何在预处理语句java中使用特殊字符

Eka*_*ata 1 java mysql prepared-statement

我不是那么频繁的喜欢子句的用户,但现在我有要求我想要根据它的名称获取一些文件.我试过了

"SELECT *  FROM FILES WHERE FILENAME LIKE "+"%"+"?"+"%";
Run Code Online (Sandbox Code Playgroud)

接下来我尝试逃避角色

 "SELECT *  FROM FILES WHERE FILENAME LIKE "+"\\%"+"?"+"\\%";
Run Code Online (Sandbox Code Playgroud)

我创建预准备语句并执行其给出错误的方式,

请帮帮我怎么用%?

提前致谢

cow*_*wls 5

这样做:

"SELECT *  FROM FILES WHERE FILENAME LIKE ?";
Run Code Online (Sandbox Code Playgroud)

然后通过as传递参数

"%.jpg"
Run Code Online (Sandbox Code Playgroud)

或者使用你想要的任何通配符.

例如

PreparedStatement st = connection.prepareStatement("SELECT *  FROM FILES WHERE FILENAME LIKE ?");
st.setString(1, "%.jpg");
ResultSet rs = st.executeQuery();
Run Code Online (Sandbox Code Playgroud)