javaweb编写程序,实现对数据库StudentInfo中标student进行插入操作。要求使用预处理语句对象PrepareStatement完成以下数据的插入
时间: 2024-01-21 19:17:20 浏览: 89
可以参考以下代码实现对数据库StudentInfo中标student进行插入操作:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class InsertStudent {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/StudentInfo"; // 数据库连接地址
String user = "root"; // 用户名
String password = "123456"; // 密码
Connection conn = null;
PreparedStatement ps = null;
try {
// 1.加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.创建数据库连接
conn = DriverManager.getConnection(url, user, password);
// 3.编写SQL语句
String sql = "INSERT INTO student(name, age, gender) VALUES (?, ?, ?)";
// 4.预处理SQL语句
ps = conn.prepareStatement(sql);
// 5.设置参数
ps.setString(1, "张三");
ps.setInt(2, 18);
ps.setString(3, "男");
// 6.执行SQL语句
int count = ps.executeUpdate();
System.out.println("插入" + count + "条数据成功!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 7.释放资源
try {
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
其中,预处理语句对象PrepareStatement的使用可以看作是对SQL语句的预编译,可以有效地防止SQL注入攻击,并提高了SQL语句的执行效率。在上述代码中,使用`conn.prepareStatement(sql)`方法对SQL语句进行预处理,并使用`ps.setString(1, "张三")`、`ps.setInt(2, 18)`、`ps.setString(3, "男")`方法设置参数,最后使用`ps.executeUpdate()`方法执行SQL语句。需要注意的是,在使用完PreparedStatement后需要显式地关闭PreparedStatement对象和数据库连接。
阅读全文