#### 1. 定义类 PreparedSQL

#### 2. 为类添加 Main()方法

#### 3. 在 main()方法中声明 java.Sql.Connection 类型的变量 conn

#### 4. 在 main()方法中声明 java.sql.Statement 类型的变量 sqlStmt

#### 5. 在 main()方法中声明 java.sql.ResultSet 类型的变量 sqlRst

#### 6. 调用 class 的 forName（）方法来获取 JDBC 驱动程序类

#### 7. 调用 newInstance()方法来创建驱动程序的实例

#### 8. 调用 DriverManager 的 getConnection（）方法来获取到数据库的连接

#### 9. 调用 conn 的 prepareStatement（）方法来创建语句对象

#### 10. 调用 setstring（）方法来给参数赋值

#### 11. 调用 executeQuery ()方法来执行 SQL 语句

#### 12. 调用 sqlRst 的 next()方法从结果集中获取记录

#### 13. 调用 sqlRst 的 getString ()方法获取制定字段的值

说明：在连接数据库的过程中，由于可能有意外抛出，因此需要进行意外处理

//实训代码: PreparedSQL.java

//用来演示如何通过 JDBC 连接到数据库执行带参数的 SQL 语句

import java.sql.*;

public class PreparedSQL {

public static void main(String[] args) {

java.sql.Connection conn;

java.sql.PreparedStatement preparedStmt; //语句对象

java.sql.ResultSet sqlRst; //结果集对象

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

conn = java.sql.DriverManager.getConnection(

"jdbc:mysql://localhost:3306/pizza", "root", "password");

//查询名字是 baiedu 的记录

preparedStmt =conn.prepareStatement("select address from customer where name = ? ");

preparedStmt.setString(1,"baiedu");

// 执行 Sql 语句

sqlRst=preparedStmt.executeQuery ();

if(sqlRst.next()) { //取得下一条记录

String address = new String(sqlRst.getString("address"));

System.out.println(address);

}

//关闭语句对象

preparedStmt.close ();

//关闭数据库连接

conn.close();

} catch (java.sql.SQLException e) {

e.printStackTrace();

}catch (Exception e) {

e.printStackTrace();

}

}

}