【Java高级程序设计】JDBC实验

本文详细介绍了如何使用Java和JDBC实现一个命令行学生信息管理系统,包括创建、读取、更新和删除学生数据,以及将ResultSet转换为学生对象的过程。涵盖了数据库连接、PreparedStatement和基本的SQL操作。
摘要由CSDN通过智能技术生成
1、请编程实现基于数据库的学生信息管理程序,程序的功能有:显示所有学生、新增学生、删除学生、修改学生、查找学生(根据学号、姓名、班级、性别、专业、学院等),程序采用命令行方式。
2、请编程实现把从数据库中查询出的学生信息记录集(ResultSet)中的记录转换为学生对象。

建立与数据库之间的连接会话,所有的操作都是基于这个会话基础上进行的

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.Statement;

//1、请编程实现基于数据库的学生信息管理程序,程序的功能有:显示所有学生、新增学生、删除学生、修改学生、查找学生(根据学号、姓名、班级、性别、专业、学院等),程序采用命令行方式。
//      2、请编程实现把从数据库中查询出的学生信息记录集(ResultSet)中的记录转换为学生对象。

/**
 * 建立与数据库之间的连接会话,所有的操作都是基于这个会话基础上进行的
 */
public class MySqlDAO {
    public static Connection getConnection() throws Exception {
        String driverName = "com.mysql.cj.jdbc.Driver";     //驱动名称
        String url = "jdbc:mysql://localhost:3306/student"; //连接字符串
        String username = "root";                           //用户名
        String ps = "";                   //密码
        Class.forName(driverName);                          //加载数据库的驱动,驱动程序自动调用DriverManger中方法将自身注册到管理器中
        return DriverManager.getConnection(url, username, password);
    }

    /**
     * 获取Statement对象,通过Statement执行SQL语句
     *
     * @return
     * @throws Exception
     */
    public static Statement getStatement() throws Exception {
        return getConnection().createStatement();
    }

    /**
     * 获取PreparedStatement对象,通过PreparedStatement执行SQL语句
     *
     * @param sql
     * @return
     * @throws Exception
     */
    public static PreparedStatement preparedStatement(String sql) throws Exception {
        return getConnection().prepareStatement(sql);
    }

    public static void connectionClose() throws Exception {
        getConnection().close();
    }
}

学生类:

public class Student {
    private int Id;         //学号
    private String Name;    //姓名
    private String Gender;  //性别
    private String college; //学院
    private String Major;   //专业
    private int Clazz;      //班级

    public Student() {
    }

    public Student(int id, String name, String gender, String college, String major, int Clazz) {
        this.Id = id;
        this.Name = name;
        this.Gender = gender;
        this.college = college;
        this.Major = major;
        this.Clazz = Clazz;
    }

    public int getId() {
        return Id;
    }

    public void setId(int id) {
        this.Id = id;
    }

    public String getName() {
        return Name;
    }

    public void setName(String name) {
        this.Name = name;
    }

    public String getGender() {
        return Gender;
    }

    public void setGender(String gender) {
        if (gender.equals("男") || gender.equals("女")) {
            this.Gender = gender;
        } else {
            try {
                throw new IllegalAccessException("性别只能为男或女");
            } catch (IllegalAccessException E) {
                E.printStackTrace();
            }
        }

    }

    public String getCollege() {
        return college;
    }

    public void setCollege(String college) {
        this.college = college;
    }

    public String getMajor() {
        return Major;
    }

    public void setMajor(String major) {
        this.Major = major;
    }

    public int getClazz() {
        return Clazz;
    }

    public void setClass(int Clazz) {
        this.Clazz = Clazz;
    }
}

利用JDBC实现学生管理系统:实现对学生的增删改查的操作

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

import static homework3.MySqlDAO.c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天的命名词

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值