占位符的模糊查询

在模糊查询语句中,需要用到占位符“?”传递参数时,sql语句中不能有%,如下:

正确写法

//定义sql语句,?表示占位符
String sql = "select * from users where name like ?";
//获取预编译的statement
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, "%李%");

错误写法:

//定义sql语句,?表示占位符
String sql = "select * from users where name like ‘%?%’";
//获取预编译的statement
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, "李");

你可能感兴趣的:(sql)