2024年1月12日发(作者:)

JSP 预处理语句应用

现在创建一个案例,演示PreparedStatement接口对象的使用。打开记事本,输入下列代码:

<%@ page contentType="text/html; charset=gb2312" language="java"

import=".*,.*" %>

通过纯Java驱动程序连接数据库

<%

e("");

String url="jdbc:mysql://localhost:3306/book?"+"user=root&password=111111";

Connection conn=nection(url);

String sql="insert into bookinfo (bookname,publisher,price) values (?,?,?)";

PreparedStatement ps=eStatement(sql);

ing(1,"Java EE从入门到精通");

ing(2,"清华大学出版社");

ing(3,"78.9元");

eUpdate();

("数据添加成功");

();

();

%>

在源文件中,首先确保连接到MySQL数据库,即创建Connection对象conn。下面创建字符串变量sql,其值为添加数据的sql语句,其中“?”我们称之为IN参数。包含于PreparedStatement对象中的SQL语句可具有一个或多个IN参数。IN参数的值在SQL语句创建时未被指定。相反的,该语句为每个IN参数保留一个问号(“?”)作为占位符。每个问号的值必须在该语句执行之前,通过适当的setXXX方法来提供。

然后使用语句“PreparedStatement ps=eStatement(sql);”创建PreparedStatement实例化对象ps,并以sql作为参数进行预编译。通过ps对象的setXXX方法将为IN参数提供值。如“ing(1,"Ajax入门到精通");”语句。最后调用PreparedStatement对象的executeUpdate()方法,执行数据的添加操作。当然了,SQL的update修改语句也可以使用PreparedStatement预编译对象,其代码如下所示:

PreparedStatement pstmt = eStatement("UPDATE table4 SET m = ? WHERE x = ?");

(1,23)

(2,56)

将上述代码保存,名称为。打开IE浏览器,在地址栏中输入localhost:8080/JSPExample/,单击【转到】,会显示如图6-19所示窗口。在MySQL客户端窗口,查询添加的数据,如图6-20所示:

图6-19 数据添加成功

图6-20 MySQL数据显示