赞
踩
1.a)
1.b)
1.c)
2.
- //导入包
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import com.mysql.cj.jdbc.Driver;
-
- //创建名为 StudentClass 的类
- public class StudentClass {
- // 声明一个 Connection 对象,用于与数据库建立连接
- Connection connection;
-
- // 建立数据库连接的方法
- public void getConnection() throws SQLException {
- // 注册 MySQL 驱动程序
- DriverManager.registerDriver(new Driver());
- // 获取与指定数据库的连接
- connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/school_java", "root", "1234");
- }
-
- // 关闭数据库连接的方法
- public void close() throws SQLException {
- connection.close();
- }
-
- // 查询并输出所有学生的信息
- public void selectAllStudents() throws SQLException {
- // 创建预处理语句,用于执行 SQL 查询
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM student;");
- // 执行查询,并将结果保存在 ResultSet 对象中
- ResultSet resultSet = preparedStatement.executeQuery();
- // 循环遍历结果集,输出每一行学生信息
- while (resultSet.next()) {
- System.out.println("id: " + resultSet.getInt("id") +
- ", 名字: " + resultSet.getString("name") +
- ", 电话: " + resultSet.getString("tel") +
- ", 性别: " + resultSet.getString("sex"));
- }
- // 关闭结果集和预处理语句
- resultSet.close();
- preparedStatement.close();
- }
-
- // 向 student 表中添加一名学生
- public void addStudent(int id, String name, String tel, String sex) throws SQLException {
- // 创建预处理语句,用于执行 SQL 插入语句
- PreparedStatement preparedStatement = connection.prepareStatement("INSERT INTO student (id,name, tel, sex) VALUES (?, ?, ?, ?);");
- // 为预处理语句中的参数赋值
- preparedStatement.setInt(1, id);
- preparedStatement.setString(2, name);
- preparedStatement.setString(3, tel);
- preparedStatement.setString(4, sex);
- // 执行插入操作
- preparedStatement.executeUpdate();
- // 关闭预处理语句
- preparedStatement.close();
- }
-
- // 修改学生的电话号码
- public void updateTel(int id, String newTel) throws SQLException {
- // 创建预处理语句,用于执行 SQL 更新语句
- PreparedStatement preparedStatement = connection.prepareStatement("UPDATE student SET tel = ? WHERE id = ?;");
- // 为预处理语句中的参数赋值
- preparedStatement.setString(1, newTel);
- preparedStatement.setInt(2, id);
- // 执行更新操作
- preparedStatement.executeUpdate();
- // 关闭预处理语句
- preparedStatement.close();
- }
-
- // 查询并输出所有男性学生的信息
- public void selectMaleStudents() throws SQLException {
- // 创建预处理语句,用于执行 SQL 查询
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM student WHERE sex = '男';");
- // 执行查询,并将结果保存在 ResultSet 对象中
- ResultSet resultSet = preparedStatement.executeQuery();
- // 循环遍历结果集,输出每一行学生信息
- while (resultSet.next()) {
- System.out.println("id: " + resultSet.getInt("id") +
- ", 名字: " + resultSet.getString("name") +
- ", 电话: " + resultSet.getString("tel") +
- ", 性别: " + resultSet.getString("sex"));
- }
- // 关闭结果集和预处理语句
- resultSet.close();
- preparedStatement.close();
- }
-
- // 修改学生的姓名
- public void updateName(int id, String newName) throws SQLException {
- // 创建预处理语句,用于执行 SQL 更新语句
- PreparedStatement preparedStatement = connection.prepareStatement("UPDATE student SET name = ? WHERE id = ?;");
- // 为预处理语句中的参数赋值
- preparedStatement.setString(1, newName);
- preparedStatement.setInt(2, id);
- // 执行更新操作
- preparedStatement.executeUpdate();
- // 关闭预处理语句
- preparedStatement.close();
- }
-
- // 查询并输出所有电话号码以139开头的女性学生信息
- public void selectFemale139() throws SQLException {
- // 创建预处理语句,用于执行 SQL 查询
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM student WHERE tel LIKE '139%';");
- // 执行查询,并将结果保存在 ResultSet 对象中
- ResultSet resultSet = preparedStatement.executeQuery();
- // 循环遍历结果集,输出每一行学生信息
- while (resultSet.next()) {
- System.out.println("ID: " + resultSet.getInt("id") +
- ", 名字: " + resultSet.getString("name") +
- ", 电话: " + resultSet.getString("tel") +
- ", 性别: " + resultSet.getString("sex"));
- }
- // 关闭结果集和预处理语句
- resultSet.close();
- preparedStatement.close();
- }
-
- // 查询并输出所有电话号码以182开头的女性学生信息
- public void selectFemale182() throws SQLException {
- // 创建预处理语句,用于执行 SQL 查询
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM student WHERE tel LIKE '182%';");
- // 执行查询,并将结果保存在 ResultSet 对象中
- ResultSet resultSet = preparedStatement.executeQuery();
- // 循环遍历结果集,输出每一行学生信息
- while (resultSet.next()) {
- System.out.println("ID: " + resultSet.getInt("id") +
- ", 名字: " + resultSet.getString("name") +
- ", 电话: " + resultSet.getString("tel") +
- ", 性别: " + resultSet.getString("sex"));
- }
- resultSet.close();
- preparedStatement.close();
- }
-
- // 删除指定 id 的学生信息
- public void deleteStudent(int id) throws SQLException {
- // 创建预处理语句,用于执行 SQL 删除语句
- PreparedStatement preparedStatement = connection.prepareStatement("DELETE FROM student WHERE id = ?;");
- // 为预处理语句中的参数赋值
- preparedStatement.setInt(1, id);
- // 执行删除操作
- preparedStatement.executeUpdate();
- // 关闭预处理语句
- preparedStatement.close();
- }
-
- // 查询并输出所有女性学生的信息
- public void selectFemaleStudents() throws SQLException {
- // 创建预处理语句,用于执行 SQL 查询
- PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM student WHERE sex = '女';");
- // 执行查询,并将结果保存在 ResultSet 对象中
- ResultSet resultSet = preparedStatement.executeQuery();
- // 循环遍历结果集,输出每一行学生信息
- while (resultSet.next()) {
- System.out.println("ID: " + resultSet.getInt("id") +
- ", 名字: " + resultSet.getString("name") +
- ", 电话: " + resultSet.getString("tel") +
- ", 性别: " + resultSet.getString("sex"));
- }
- // 关闭结果集和预处理语句
- resultSet.close();
- preparedStatement.close();
- }
-
- // 主方法,程序入口
- public static void main(String[] args) throws SQLException {
- // 创建 StudentClass 对象
- StudentClass studentDemo = new StudentClass();
- // 建立数据库连接
- studentDemo.getConnection();
-
- // 输出提示信息
- System.out.println("查询所有学生信息:");
- // 调用方法,查询并输出所有学生信息
- studentDemo.selectAllStudents();
-
- // 输出提示信息
- System.out.println("新增三个学生:");
- // 调用方法,添加三名新学生
- studentDemo.addStudent(11,"迦南", "18255556666", "女");
- studentDemo.addStudent(12,"特木尔", "13977778888", "男");
- studentDemo.addStudent(13,"沈妙", "13999998888", "女");
- // 调用方法,查询并输出所有学生信息
- studentDemo.selectAllStudents();
-
- // 输出提示信息
- System.out.println("查询电话以182开头的学生信息:");
- // 调用方法,查询并输出电话号码以182开头的女性学生信息
- studentDemo.selectFemale182();
-
- // 输出提示信息
- System.out.println("修改第5个学生的电话为13124235300:");
- // 调用方法,修改第5名学生的电话号码
- studentDemo.updateTel(5, "13124235300");
- // 调用方法,查询并输出所有学生信息
- studentDemo.selectAllStudents();
-
- // 输出提示信息
- System.out.println("查询所有男性学生信息:");
- // 调用方法,查询并输出所有男性学生信息
- studentDemo.selectMaleStudents();
-
- // 输出提示信息
- System.out.println("修改第10个学生的姓名为'大帅哥':");
- // 调用方法,修改第10名学生的姓名
- studentDemo.updateName(10, "大帅哥");
- // 调用方法,查询并输出所有学生信息
- studentDemo.selectAllStudents();
-
- // 输出提示信息
- System.out.println("查询电话以139开头的学生信息:");
- // 调用方法,查询并输出电话号码以139开头的女性学生信息
- studentDemo.selectFemale139();
-
- // 输出提示信息
- System.out.println("删除第3个学生:");
- // 调用方法,删除第3名学生
- studentDemo.deleteStudent(3);
- // 调用方法,查询并输出所有学生信息
- studentDemo.selectAllStudents();
-
- // 输出提示信息
- System.out.println("查询所有女性学生信息:");
- // 调用方法,查询并输出所有女性学生信息
- studentDemo.selectFemaleStudents();
-
- // 输出提示信息
- System.out.println("查询所有学生信息:");
- // 调用方法,查询并输出所有学生信息
- studentDemo.selectAllStudents();
-
- // 关闭数据库连接
- studentDemo.close();
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。