勿谓今日不学而有来日,勿谓今年不学而有来年。
日月逝矣,岁不我延。

对一个数据库操作Bean的完善 PreparedStatement预处理SQL查询的封装

PreparedStatement的优点

1、PreparedStatement可以写动态参数化的SQL查询

使用PreparedStatement可以写带参数的sql查询语句,通过使用相同的sql语句和不同的参数值来做查询比创建多个静态的查询语句要好的多,可以是变量更加清晰易辨。PreparedStatement查询语句中使用“?”作为占位符而且其索引是从1开始的。

2、PreparedStatement Statement 更快

使用 PreparedStatement 最重要的一点好处是它拥有更佳的性能优势,SQL语句会预编译在数据库系统中。执行计划同样会被缓存起来,它允许数据库做参数化查询。数据库对SQL语句的分析,编译,优化已经在第一次查询前完成了,所以在以后使用这个查询是会大大减少所需要的时间。为了减少数据库的负载,为了获得性能上的优势,应该使用参数化sql查询而不是字符串追加的方式,所以PreparedStatement是更好的选择 。

3、PreparedStatement可以防止SQL注入式攻击

在使用参数化查询的情况下,数据库系统不会将参数的内容视为SQL指令的一部分来处理,而是在数据库完成SQL指令的编译后,才套用参数运行,因此就算参数中含有破坏性的指令,也不会被数据库所运行,从而避免SQL注入式攻击。

PreparedStatement的set方法

set方法用来传递IN参数如:setSting(1,”test”);

使用setObject方法可以完成对PreparedStatement的封装:

DataBaseConn的完善

将以上代码加入 简单登录系统的实现 基于MVC设计模式 中的DataBaseConn中便可以方便的调用。

将PreparedStatement和Statement声明为全局变量,再写入close方法:

完整的数据库操作Bean

 

 

赞(0)
未经允许不得转载:喋喋不休 » 对一个数据库操作Bean的完善

评论 1

评论前必须登录!

 

  1. #1

    使用params数组元素依次对占位符传递IN参数

    llanc9个月前 (11-21)

精品网站

有券无忧电脑壁纸精选