SQL注入问题
- sql注入问题
在编写sql语句中存在注入问题:在拼接sql时,有一些sql的特殊关键字参与字符串的拼接,会造成安全性的问题
举例:比如在登录操作时查询用户用户名密码字段,sql语句可以写成 select * from user where username='fdsaiofgdsa' and password='a' or 'a'='a';
解决:使用prepareedStatment对象来解决
预编译sql:参数用?作为占位符
使用步骤:
导入jar包(jar包里面放的是.java文件)复制jar包到lib目录下,然后右键add as Library
注册驱动 Class.forname("com.mysql.jdbc.Driver");
获取数据库连接对象Connection
定义sql 注意sql的参数使用?为占位符 如: select *from user where username =? and password=?;
获取执行sql语句的对象 PreparedStatement Connection.preparedStatement(Stirng sql)
给?赋值:
方法:setXxx(参数1,参数2)
参数1:?的位置编号从1开始
参数2:?的值
执行sql,得到结果
关闭资源