DBUtils工具包参数化sql语句
public boolean validate(){
boolean flag = false;
QueryRunner runner = new QueryRunner(C3p0Utils.getDataSource());
try {
int num = runner.update("insert into user (name,password) values (?,?)");
?
?
if (num > 0){
System.out.println(name);
System.out.println(password);
flag = true;
}
} catch (SQLException e) {
e.printStackTrace();
}
return flag;
}
有没有人知道这个这么写的啊,sql语句中的问号是要填入的参数name和password
首先题主要有一个认识和知识,叫做 SQL注入
,因为不是本问答重点,不多赘述,但是希望题主能够搜索相关资料知道一下这方面,以后面试也会被问到。
另外题主的问题中的问号叫做占位符
,目的就是为了防止SQL注入
,一般后面会紧接着进行设置参数,第一个参数就是第一个问号。