在Java中编写带占位符的SQL(字符串%s,数字%d)

    技术2022-07-10  97

    @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

    Processed: 0.049, SQL: 9