目录
第2 章 2.2.1 使用 priparedStatement
2.使用 PreparedStatement 实现数据的编辑
第2 章 2.2.1 使用 priparedStatement
1. PreparedStatement 对象
PreparedStatement 接口继承自 Statement 接口,preparedStatement 对象比普通的
Statement 对象使用起来更加灵活、更有效率。
preparedStatement 实列包含已编译的 SQL 语句,SQL 语句可具有一个或多个输入
参数。这些输入参数的值在 SQL 语句创建对象时未被指定,而是为每个输入参数保留一个
问号 "?" 作为占位符。
在执行 preparedStatement 对象之前,必须设置每个输入参数的值。可通过调用
setXxx() 方法来完成,其中 Xxx 是与该参数对应的类型。例如,如果参数是 Java 类型
int ,则使用的方法就是 setInt()。
setXxx() 方法的第一个参数是要设置的参数的序数位置,第二个参数是设置给该参
数的值。
注意
(1)如果数据类型为数据格式,可采用如下语句。
setTimestamp( 参数位置,new java.sql.Timestamp(createdate.getTime()));
createdate 为一个日期对象的实列。
(2)如果数据类型为 CLOB 类型,则可以将其视为 String 类型进行设置。
经验
PreparedStatement 对象对 SQL 语句进行了预编译,所以其执行速度要快于
Statement 对象。因此,多次执行的 SQL 语句应使用 PreparedStatement 对象处理,
以提高效率。
2.使用 PreparedStatement 实现数据的编辑
对于数据库数据的操作,归纳起来就是数据的增、删、改、查 4种操作类型。在本
章任务 1 中,已经实现了新闻信息的查询,所以在这里只以增加新闻的功能为例进行介
绍,而新闻的删除、修改在实现逻辑上的思路是一样的,仅仅 是在 SQL 语句的编写上
存在一些区别,就不再做过多的描述了。
实现新闻信息增加的功能,需要执行以下几个步骤。
1)编写增加新闻的 SQL 语句。
2) 创建 PreparedStatement 对象的实列,并为占位符赋值。
3) 执行 SQL 语句。由于 PreparedStatement 对象对 SQL 语句实现了预编译,所以
在执行时,直接调用 executeUpdate() 方法即可。
4)根据执行结果进行处理。对数据库记录的增、删、改操作,都会有一个 int 类型
的返回结果,表示操作所影响的记录数,如果这个记录数的数值大于 0 ,表示 SQL 语句
成功影响若干记录,否则表示 SQL 语句未影响任何记录。
提示
数据库的增、删、改操作,除了 SQL 语句不同,其他的操作步骤完全相同,
在学习时只需要掌握增加操作的实现过程,然后举一反三,即可掌握另两种数据
库操作方式。