您需要使用:
preparedStatement.executeQuery();
代替
preparedStatement.executeQuery(login);
当您将字符串传递给
executeQuery()该
查询时
?,将按字面意义执行查询,因此将其发送到数据库,然后数据库会产生错误。通过传递查询字符串,您不会执行传递值的“已缓存”准备语句。

您需要使用:
preparedStatement.executeQuery();
代替
preparedStatement.executeQuery(login);
当您将字符串传递给
executeQuery()该
?,将按字面意义执行查询,因此将其发送到数据库,然后数据库会产生错误。通过传递查询字符串,您不会执行传递值的“已缓存”准备语句。