在使用JDBC进行like查询的时候,由于使用的是preparedStatement来执行SQL语句,在使用这个语句中不能插入单引号‘,因此在进行关键字查询的时候就容易陷入迷茫,这里提出一种通用的解决方式:
//获取扫描仪
Scanner input = new Scanner(System.in);
//模糊查询关键字
String keywords = input.next();
//在关键字前后加上代表零个、一个或多个任意字符的通配符
keywords = "%" + keywords + "%";
//要执行的SQL语句
String sql = "select * from table where name like ?";
//获得PreparedStatement,这里使用类指向子类对象
Statement stat = conn.PreparedStatement(sql);
//对SQL语句中的问号进行赋值
stat.setString(1,keywords);
//执行
stat.executeQuery();
由于使用的是PreparedStatement进行查询,需要使用问号来当做占位符。
在进行模糊查询的时候%代表零个、一个或多个任意字符,在关键字前后
分别加上百分号。