使用PreparedStatement编写通讯录代码 实现增删改查功能
时间: 2024-03-31 12:33:17 浏览: 17
好的,下面是一个使用 PreparedStatement 编写通讯录代码,实现增删改查功能的示例代码:
```java
import java.sql.*;
public class AddressBook {
private static final String url = "jdbc:mysql://localhost:3306/addressbook";
private static final String username = "root";
private static final String password = "123456";
public static void main(String[] args) {
try {
Connection conn = DriverManager.getConnection(url, username, password);
// 创建通讯录表
String createTableSql = "CREATE TABLE IF NOT EXISTS contacts (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), phone VARCHAR(20))";
Statement createTableStmt = conn.createStatement();
createTableStmt.execute(createTableSql);
createTableStmt.close();
// 插入数据
String insertSql = "INSERT INTO contacts (name, phone) VALUES (?, ?)";
PreparedStatement insertStmt = conn.prepareStatement(insertSql);
insertStmt.setString(1, "张三");
insertStmt.setString(2, "13812345678");
insertStmt.execute();
insertStmt.setString(1, "李四");
insertStmt.setString(2, "13987654321");
insertStmt.execute();
insertStmt.close();
// 查询数据
String querySql = "SELECT * FROM contacts WHERE name LIKE ?";
PreparedStatement queryStmt = conn.prepareStatement(querySql);
queryStmt.setString(1, "%张%");
ResultSet rs = queryStmt.executeQuery();
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String phone = rs.getString("phone");
System.out.println(id + "\t" + name + "\t" + phone);
}
rs.close();
queryStmt.close();
// 更新数据
String updateSql = "UPDATE contacts SET phone = ? WHERE name = ?";
PreparedStatement updateStmt = conn.prepareStatement(updateSql);
updateStmt.setString(1, "13212345678");
updateStmt.setString(2, "张三");
updateStmt.execute();
updateStmt.close();
// 删除数据
String deleteSql = "DELETE FROM contacts WHERE name = ?";
PreparedStatement deleteStmt = conn.prepareStatement(deleteSql);
deleteStmt.setString(1, "李四");
deleteStmt.execute();
deleteStmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
在这个示例代码中,我们首先创建了一个名为 `contacts` 的通讯录表。然后,我们使用 PreparedStatement 对象插入了两条数据,通过 PreparedStatement 对象查询了包含 “张” 字符的数据,使用 PreparedStatement 对象更新了 “张三” 的电话号码,最后使用 PreparedStatement 对象删除了 “李四”的数据。
这个示例代码演示了如何使用 PreparedStatement 对象实现增删改查功能。在实际开发中,我们需要根据具体的业务需求编写对应的 SQL 语句,并使用 PreparedStatement 对象执行 SQL 语句。