与数据库交互信息
Statement 会将每一次SQL语句发送给数据库 数据库每次都要解析SQL并生成执行计划(解析相当耗时)
PreparedStatement (主要用)则会在创建前就把SQL预编译 解析一次 生成执行计划
计划中的“参数”用“?”代替
第二点:Statement 存在SQL注入攻击
因为执行SQL语句时 是拼接SQL来完成
PreparedStatement 不存在这个问题
因为预编译了SQL直接发给数据库开始执行计划
所以输入的数据都当做参数 就算是注入攻击的内容
PS一般执行先是拿到连接数据库的方法
然后写String sql=“sql语句”
然后用PS ps=connection.PS(sql)向数据库发
然后ps.set参数属性String或Int(“名字类似username”)
最后ResultSet rs=ps.executequery()
rs.next()看看插入是否成功
在BBS中