JDBC(2) 使用JDBC实现CRUD操作
四、使用JDBC实现CRUD操作
将重复代码进行封装(封装成自定义工具类):
文件信息:
![JDBC(2) 使用JDBC实现CRUD操作 JDBC(2) 使用JDBC实现CRUD操作](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzY0MC9jYTMwZWVlODFhYjY3MzgxYjA2MDhkODczOWExNmU0OC5wbmc=)
五、实现一个用户登录的功能
六、SQL注入问题:preparedStatement
出现问题:
本来name和password符合要求才可以通过登录系统的验证,但是可以通过下面方式实现成功登录。
![JDBC(2) 使用JDBC实现CRUD操作 JDBC(2) 使用JDBC实现CRUD操作](/default/index/img?u=aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzk4Ny9iMjhjOWI5OGE3OTljMDMxYTA3NzExZjVlZGJjMDM2Yi5wbmc=)
PreparedStatement:预编译对象, 是Statement对象的子类。
特点:
性能要高
会把sql语句先编译(sql语句写在它前面)
将重复代码进行封装(封装成自定义工具类):
文件信息:
测试代码:
五、实现一个用户登录的功能
六、SQL注入问题:preparedStatement
出现问题:
本来name和password符合要求才可以通过登录系统的验证,但是可以通过下面方式实现成功登录。
PreparedStatement:预编译对象, 是Statement对象的子类。
特点:
性能要高
会把sql语句先编译(sql语句写在它前面)
sql语句中的参数会发生变化,过滤掉用户输入的关键字。
补充例子:
总结: