编写程序,实现对数据库StudentInfo中标student进行插入操作。要求使用预处理语句对象PrepareStatement完成以下数据的插入
时间: 2024-01-21 16:17:00 浏览: 78
假设StudentInfo数据库中有以下表格:
```
CREATE TABLE Student (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
gender VARCHAR(10)
);
```
以下是Java程序的示例代码,使用PrepareStatement对象向Student表格中插入一条新的记录:
```java
import java.sql.*;
public class InsertStudent {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/StudentInfo?useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
String sql = "INSERT INTO Student (id, name, age, gender) VALUES (?, ?, ?, ?)";
PreparedStatement statement = conn.prepareStatement(sql);
statement.setInt(1, 1001); // 设置第一个占位符的值为1001
statement.setString(2, "John"); // 设置第二个占位符的值为"John"
statement.setInt(3, 23); // 设置第三个占位符的值为23
statement.setString(4, "Male"); // 设置第四个占位符的值为"Male"
int rowsInserted = statement.executeUpdate();
if (rowsInserted > 0) {
System.out.println("A new student was inserted successfully!");
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
```
在以上示例代码中,我们使用了PreparedStatement对象,它可以帮助我们预编译SQL语句并设置占位符的值。在这个例子中,我们使用了四个占位符?来代替具体的值,然后使用setXXX()方法设置每个占位符的值。最后,我们使用executeUpdate()方法来执行SQL语句并返回受影响的行数。如果受影响的行数大于0,则表示插入操作成功。
阅读全文