public void updateStudent(Student student){ String sql = "update student set stuname = '"+student.getStuname()+"',stuage = '"+student.getStuage()+"'"; try { queryRunner.update(connection,sql,new ScalarHandler()); } catch (SQLException e) { e.printStackTrace(); } }改正确
时间: 2024-03-28 11:41:40 浏览: 96
学生信息SQL
你的代码存在 SQL 注入的风险,因为它直接将用户输入的数据嵌入到 SQL 语句中,而不是使用参数化查询的方式来处理。为了避免 SQL 注入,你应该改用参数化查询的方式来构建 SQL 语句。修改后的代码如下:
```
public void updateStudent(Student student) {
String sql = "update student set stuname = ?, stuage = ?";
try {
queryRunner.update(connection, sql, student.getStuname(), student.getStuage());
} catch (SQLException e) {
e.printStackTrace();
}
}
```
在这个代码中,我们使用了 `?` 占位符来代替 SQL 语句中的具体值,然后在调用 `queryRunner.update()` 方法时,将具体的值作为参数传入。这样就能够避免 SQL 注入的问题。
阅读全文