在写JDBC是发现的问题。
错误写法
sql = "select * from test_user where name like %?%";
PreparedStatment stat = con.prepareStatement(sql);
stat.setString(1,"郑");
正确写法:
select * from test_user where name like '%"+user.getName()+"%'
也可
在sql变量中 的LIKE只写一个问号,其余的通配符在setString的时候加上去。
String sql = "SELECT name FROM emp WHERE name LIKE ?";
PreparedStatment stat = con.prepareStatement(sql);
stat.setString(1,"%xia%");
本文介绍了在Java JDBC编程中如何正确使用SQL LIKE语句。错误的使用方式可能导致SQL注入风险,正确的做法是在PreparedStatement中使用参数占位符,并在执行时设置具体的通配符值。
684

被折叠的 条评论
为什么被折叠?



