Statement与PreparedStatement

Statement与PreparedStatement

共同

1.PreparedStatement继承自Statement

2.PreparedStatement中没有close()方法,PreparedStatement的close()继承自Statement

区别

Statement:必须先打开数据库链接,然后将语句放入数据库中执行,才能知道数据库执行的结果以及SQL语句有无语法错误。

PreparedStatement:编译接口在不打开数据库的情况下先验证SQL语句是否有问题。有简单的语句验证。可以使用替代符。

PreparedStatement的使用

 PreparedStatement ps = conn.PreparedStatement(SQL语句);//先验
 ​
 ps.set类型(第几个占位符,替换的数据);
 //1.注意传入的类型
 //2.Date类型需要转换
 //3.占位符从1开始计数
 ​
 ps.executeUPdate();//运行

其他

1.SQL注入

 ' or 1=1 -- 

2.账户验证

 select count(0) from 表名 where 账户列名 = '值1' and 密码列名 = '值2'
 -- 用executeQuery()语句查询,返回用Resultset接收,并提取出显示行数的值
 -- 如果返回类型是0,代表没有该用户,返回>0代表该用户存在

3.三层架构

  1. 界面/View

  2. 业务/Service

  3. 数据/Dao(其中包含对象/bean)

posted @ 2019-12-25 22:24  是非_大道克己  阅读(516)  评论(0编辑  收藏  举报