@Override
public User findUserByNameAndAddress(String username, String password) {
// String condition = "username = {0} and password = {1}";//错误
String condition = "username = '%s' and password = '%s'";//正确
condition = String.format(condition, username, password);
return userDao.findUserByNameAndAddress(condition);
}
在Java中编写带占位符的SQL(字符串%s,数字%d)可防止sql注入风险。但是总是感觉不够完美,还是尽量不要用。因为最终还是变成字符串替换拼接,容易出现Bug。sql注入的风险。
最好还是mybatis框架中使用,动态拼接foreach遍历。
参考
https://blog.csdn.net/weixin_30902675/article/details/96798282?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-3