1 PreparedStatement是什么?
PreparedStatement叫预编译声明!
PreparedStatement是Statement的子接口,你可以使用PreparedStatement来替换Statement。
李氏代换原则:只要是父类可以出现的地方,子类都可以出现.
PreparedStatement的好处:
l 防止SQL攻击;
用户从表单中输入的Sql语句不能直接与我们程序中的sql接触,而是使用?号来赋值.
l 提高代码的可读性,以可维护性;
使用?号占位,不用写Sql语句中的一系列的单引又引号,和+.
提高效率
2 PreparedStatement的使用
String sql = “select * from tab_student where s_number=?”; PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setString(1, “S_1001”); ResultSet rs = pstmt.executeQuery(); rs.close(); pstmt.clearParameters();//再次使用时需要把原来的设置清空。 pstmt.setString(1, “S_1002”); rs = pstmt.executeQuery();
在使用Connection创建PreparedStatement对象时需要给出一个SQL模板,所谓SQL模板就是有“?”的SQL语句,其中“?”就是参数。
在得到PreparedStatement对象后,调用它的setXXX()方法为“?”赋值,这样就可以得到把模板变成一条完整的SQL语句,然后再调用PreparedStatement对象的executeQuery()方法获取ResultSet对象。
注意PreparedStatement对象独有的executeQuery()方法是没有参数的,而Statement的executeQuery()是需要参数(SQL语句)的。因为在创建PreparedStatement对象时已经让它与一条SQL模板绑定在一起了,所以在调用它的executeQuery()和executeUpdate()方法时就不再需要参数了。
PreparedStatement最大的好处就是在于重复使用同一模板,给予其不同的参数来重复的使用它。这才是真正提高效率的原因。
<!--EndFragment--><!--EndFragment--><!--EndFragment-->
相关推荐
练习3:使用PreparedStatement插入宠物信息.zip
jdbc2.0版 PreparedStatement接口的用法
PreparedStatement对象相比Statement对象具有更多的优点,因此在实际开发中,建议使用PreparedStatement对象来代替Statement对象。 知识点: 1. Statement对象和PreparedStatement对象的区别 2. PreparedStatement...
MySql练习3:使用PreparedStatement插入宠物信息.zip MySql练习3:使用PreparedStatement插入宠物信息.zip MySql练习3:使用PreparedStatement插入宠物信息.zip
使用 PreparedStatement 可以使代码变得更加简洁和易于维护,而不是使用 Statement 直接拼接 SQL 语句。例如: ```java stmt.executeUpdate("insert into tb_name (col1,col2,col2,col4) values ('"+var1+"','"+var2...
PreparedStatement详细用法
关于PreparedStatement插入Date类型值的方法.txt
NULL 博文链接:https://huiminchen.iteye.com/blog/1097332
JDBC基础教程之PreparedStatement.doc )
此实例意在解决预处理命令PreparedStatement的setString()方法,在sql2008数据库中写入数据时,会自动补足空格的问题, 同时此实例也解决了当存在自动补足空格的问题时,使用nvarchar可以使查找出来的数据与原输入...
在java中向访问数据库的sql语句一般放到类PreparedStatement类构造函数中,这里遇到的问题就是向sql语句中用setDate()插入时间时不能用java.util.date,而应用java.sql.date,这里就讲述了解决方法,一种是插入...
NULL 博文链接:https://chaoyi.iteye.com/blog/2088080
连接方式 连接池 使用 PreparedStatement 使用事务
JDBC 中 PreparedStatement 接口提供的 execute、executeQuery 和 executeUpdate 之间的区别及用法 JDBC 中的 PreparedStatement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。...
Java之JDBC连接数据库实现增删改查(2018 使用Dao层实现 完美封装解决硬编码问题 使用预编译对象PreparedStatement) 配置文件 db.properties(保存数据库账号和密码等) 工具类 JDBCUtil.java(抽取公共部分,解决硬...
可以了解PreparedStatemen的具体用法,使用与JSP初学者
java.sql.PreparedStatement接口。PrepareStatement接口继承Statement接口。 PrepatredStatement实例包含已编译的SQL语句,由于PreparedStatement对象已预编译过哦哦,所以执行速度快于Statement对象。 包含于...
主要介绍了JSP中的PreparedStatement对象操作数据库的使用教程,文中举了一些使用PreparedStatement预处理语句对象进行MySQL增删查改的例子,需要的朋友可以参考下
NULL 博文链接:https://stevenjohn.iteye.com/blog/968877