编写程序,实现对数据库StudentInfo中的表Student的查询操作,要求如下 1.使用预处理语PrepareStatement 2.根据输入页面填写的年龄段进行查询 3.输出满足条件的学生的姓名和性别显示在页面中
时间: 2024-01-21 21:18:01 浏览: 79
以下是一个Java程序示例,实现了查询满足年龄段条件的学生的姓名和性别:
```java
import java.sql.*;
public class StudentInfoQuery {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/StudentInfo?useSSL=false";
String user = "root";
String password = "123456";
try {
Connection conn = DriverManager.getConnection(url, user, password);
String sql = "SELECT name, gender FROM Student WHERE age >= ? AND age <= ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 18); // 设置第一个参数的值为18
pstmt.setInt(2, 25); // 设置第二个参数的值为25
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
String name = rs.getString("name");
String gender = rs.getString("gender");
System.out.println("Name: " + name + ", Gender: " + gender);
}
rs.close();
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
这里假设数据库名为`StudentInfo`,表名为`Student`,包含四个字段:`id`、`name`、`age`和`gender`。连接数据库时使用了MySQL的JDBC驱动,连接URL为`jdbc:mysql://localhost:3306/StudentInfo?useSSL=false`,其中`localhost`为本地主机名,`3306`为MySQL服务器的默认端口号。用户名和密码分别为`root`和`123456`。查询语句中使用了两个占位符`?`,在执行查询之前分别使用`setInt()`方法为它们设置了具体的值。执行查询时,遍历结果集并输出满足条件的学生的姓名和性别。最后关闭结果集、预处理语句和数据库连接。
阅读全文