寝室管理系统(JAVA版)连接mysql数据库

一名普通的本科生,学代码有一年,这个是简单版本,功能不多,如果要旅游管理系统(比较高级(非javaweb,现在还没学,以后学吧))或者想要更加简陋的版本(如就在编译器里输入输出的也有),可以关注我然后私信。本次代码是java的jdbc的应用

本章先对寝室管理系统各方面进行可行性分析,然后分析寝室管理系统的功能需求,最后简述该寝室管理系统使用的开发工具以及相关技术。

1.1 可行性分析

可行性研究的目的是在尽可能短的时间内,消耗尽可能少的资源来判断系统问题是否能够解决。它只能客观地分析问题的存在,给出分析是否该问题值得花费任何的资源去解决。下面从市场上、经济和技术三方面对系统的可行性进行了分析和研究。

1.1.1 市场可行性

现在学校招收的学生越来越多,学生个人信息复杂,建成一个集合,老师和宿管部的人员管理起来麻烦众多,大规模用户信息的普及让人们运用程序管理起来方便,所以该系统在市场上具有可行性。

1.1.2 经济可行性

学生可以自主研发一个程序,跟着自己的同伴运用所掌握的java知识一起来完成,CSDN和码云上可以参考别人的代码,不需要大量资金,所以本系统在经济上具有可行性。

1.1.3 技术可行性

本系统基于Java、MySQL等技术开发,这些技术十分成熟且易于使用,并在市面上具有广泛的应用且具有成熟的标准与诸多接口与扩展,普通的电脑已经远能够满足本系统的需求,所以在技术上本系统具有可行性。

1.2 功能需求

基于实际调研分析,系统应满足以下的功能:

(1)添加功能:用户可以将一间寝室的信息上传到寝室管理系统;

(2)查询功能:用户可以在主方法页面点击查询选项;

(3)修改功能:用户可以在主方法界面修改某个寝室的信息。

(4)删除功能:用户可以在主方法界面删除某个寝室的信息。

本章通过需求分析将系统分为四个功能模块,分别为数据库连接模块、用户管理模块、寝室信息模块、菜单模块基于业务流程完成了系统数据库的设计。

2.1 系统总体设计

系统总体功能模块图如图2-1所示。

 E-R图

 

自我小结:

首先写出建立mysql数据库的代码

// MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL

    final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";

    final String DB_URL = "jdbc:mysql://127.0.0.1:3306/javaroommanage?useSSL=false&allowPublicKeyRetri

eval=true&serverTimezone=UTC";

其中javaroommanage是自己命名的数据库的名字;

把这个代码放入JDBC类中

现在菜单中写出这个管理系统拥有的功能,然后每个功能都连接数据库;

所以JDBC这个类是从Manu这个类中的方法调用的;

遇到的困难如下:

 String sql;

        sql = "INSERT INTO room (name,Rnum,count,sex," +//输入有问题

                "sanitate,award,studentname) VALUES ('" +

                tm.get(select[0])+"',"+tm.get(select[1])+","+tm.get(select[2])+",'"+tm.get(select[3])

                +"','"+tm.get(select[4])+"','"+tm.get(select[5])+"','"+tm.get(select[6])+ "')";

这是一段SQL语句,我们说插入数据的语句是

INSERT INTO 表名 (属性1,属性2,...) VALUES ('字符串1',....)

其中''这两个分号千万不能少

本身tm.get(select[0])就是一个字符串,但你必须要在字符串的两旁加上''

如 '字符串1',但如果你用的是数字有关的属性则不必加''。

1.executeQuery()是查询用的方法

2.executeUpdate()是更新用的方法

这个集合数组的问题

arrayList.add(number);

jdroom = new JdbcRoom(5,arrayList);

arrayList.clear();//清空列表

因为我这个是修改、删除需要的列表,这列表里就只存放了一个元素

但如果我下次还要修改和删除,那么就要在上一次操作的时候将列表清空

在做该管理系统的后期,我们决定做一个GUI,这样可以达到人机交互界面的顶峰,让用户更直观的感受选择菜单带来的便利。

在做GUI的过程中,困难的是怎么加入GUI,于是我们添加了一个辅助类HelpSelect来帮助我们从新创建的Window类中去调用Manu菜单类,这样更加区分了模块之间的联系,降低了代码冗余。

最后对测试环境、测试用例进行编写和执行,让系统达到无异常要求。

 未来展望

本报告书是设计和实现了基于数据库和idea(java编程软件),在经历整个流程的设计与编码后其核心模块和功能都进行了完成,不过对于在实际的复杂业务上依然会感到很吃力,而这些都是需要改善和补充的内容。

那我废话不多说,代码展示

类1:

package database;

import javax.swing.*;
import javax.swing.table.JTableHeader;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Iterator;

public class HelpSelect {
    public JScrollPane scpDemo;
    public JTableHeader jth;
    public JTable tabDemo;
    Room room;
    public HelpSelect(int select){
        switch (select){
            case 1:{
                init(1);
                break;
            }
            case 2:{
                init(2);
                break;
            }
            case 3:{
                init(3);
                break;
            }
            case 4:{
                init(4);
                break;
            }
        }

    }
    public void init(int select1){
        JFrame f = new JFrame("用户二级界面");
        f.setLayout(new FlowLayout());
        f.setSize(600,700);
        f.setLocation(450,20);
        if(select1==4) {
            f.setLayout(new GridLayout(6,1,10,5));
            JPanel jp1 = new JPanel();
            JLabel jl1 = new JLabel("请点击按钮");
            JButton jb1 = new JButton("寝室查询");
            jp1.add(jl1);
            jp1.add(jb1);
            f.add(jp1);
            JPanel jp2 =new JPanel();
            JLabel jl2 = new JLabel("请点击按钮");
            JButton jb2 = new JButton("寝室长查询");
            jp2.add(jl2);
            jp2.add(jb2);
            f.add(jp2);
            JPanel jp5 = new JPanel();
            JLabel jl5 = new JLabel("请输入你的要求");
            JTextField jt = new JTextField("",15);
            jp5.add(jl5);
            jp5.add(jt);
            f.add(jp5);
            JPanel jp3 = new JPanel();
            JLabel jl3 = new JLabel("请点击按钮");
            JButton jb3 = new JButton("寝室卫生排名表");
            jp3.add(jl3);
            jp3.add(jb3);
            f.add(jp3);
            JPanel jp4 = new JPanel();
            JLabel jl4 = new JLabel("请点击按钮");
            JButton jb4 = new JButton("查询整个学校寝室数据");
            jp4.add(jl4);
            jp4.add(jb4);
            f.add(jp4);

            scpDemo = new JScrollPane();
            f.add(scpDemo);
            jb1.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    int number_ = Integer.parseInt(jt.getText());
                    Room room1 = new Room();
                    room1.setRnum(number_);
                    Manu manu =new Manu(1,room1);
                    room = manu.getJjxyroom();
                    ArrayList arrayList = new ArrayList();
                    arrayList.add(room);
                    btnShow_ActionPerformed(e,arrayList);
                }
            });
            jb2.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    String studentname_ = jt.getText();
                    Room room1 = new Room();
                    room1.setStudentname(studentname_);
                    Manu manu =new Manu(2,room1);
                    room = manu.getJjxyroom();
                    ArrayList arrayList = new ArrayList();
                    arrayList.add(room);
                    btnShow_ActionPerformed(e,arrayList);
                }
            });
            jb3.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    Room room1 = new Room();
                    Manu manu =new Manu(3,room1);
                    ArrayList arrayList = new ArrayList();
                    arrayList = manu.getArrayList();
                    btnShow_ActionPerformed2(e,arrayList);
                }
            });
            jb4.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    Room room = new Room();
                    Manu manu=new Manu(7,room);
                    ArrayList arrayList = new ArrayList();
                    arrayList = manu.getArrayList();
                    btnShow_ActionPerformed3(e,arrayList);
                }
            });

        }
        if(select1==2){
            f.setLayout(new GridLayout(2,1,10,5));
            JPanel button = new JPanel();
            JLabel button_ = new JLabel("请点击按钮");
            JButton jb1 = new JButton("删除寝室");
            button.add(button_);
            button.add(jb1);
            f.add(button);//1
            JPanel r_num = new JPanel();
            JLabel roomnum = new JLabel("删除的寝室号码:");
            JTextField rnum = new JTextField("",15);
            r_num.add(roomnum);
            r_num.add(rnum);
            f.add(r_num);//2
            jb1.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    Room room = new Room();
                    int rnum1 = Integer.parseInt(rnum.getText());
                    room.setRnum(rnum1);
                    new Manu(6,room);
                }
            });
        }
        if(select1==3){
            f.setLayout(new GridLayout(8,1,10,5));
            JPanel button = new JPanel();
            JLabel button_ = new JLabel("请点击按钮");
            JButton jb1 = new JButton("修改寝室");
            button.add(button_);
            button.add(jb1);
            f.add(button);//1
            JPanel r_name = new JPanel();
            JLabel roomname = new JLabel("新的寝室名字:");
            JTextField rname = new JTextField("",15);
            r_name.add(roomname);
            r_name.add(rname);
            f.add(r_name);//2
            JPanel r_num = new JPanel();
            JLabel roomnum = new JLabel("寝室号码:");
            JTextField rnum = new JTextField("请输入原来的寝室号码",15);
            r_num.add(roomnum);
            r_num.add(rnum);
            f.add(r_num);//3
            JPanel r_count = new JPanel();
            JLabel roomcount = new JLabel("寝室人数:");
            JTextField rcount = new JTextField("",15);
            r_count.add(roomcount);
            r_count.add(rcount);
            f.add(r_count);//4
            JPanel r_sex = new JPanel();
            JLabel roomsex = new JLabel("寝室成员性别:");
            JTextField rsex = new JTextField("",15);
            r_sex.add(roomsex);
            r_sex.add(rsex);
            f.add(r_sex);//5
            JPanel r_sanitate = new JPanel();
            JLabel roomsanitate = new JLabel("寝室卫生:");
            JTextField rsanitate = new JTextField("",15);
            r_sanitate.add(roomsanitate);
            r_sanitate.add(rsanitate);
            f.add(r_sanitate);//6
            JPanel r_award = new JPanel();
            JLabel roomaward = new JLabel("寝室获奖情况:");
            JTextField raward = new JTextField("",15);
            r_award.add(roomaward);
            r_award.add(raward);
            f.add(r_award);//7
            JPanel r_studentname = new JPanel();
            JLabel roomstudentname = new JLabel("寝室长姓名:");
            JTextField rstudentname = new JTextField("",15);
            r_studentname.add(roomstudentname);
            r_studentname.add(rstudentname);
            f.add(r_studentname);//8
            jb1.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    String name1 = rname.getText();
                    int rnum1 = Integer.parseInt(rnum.getText());
                    int count1 = Integer.parseInt(rcount.getText());
                    String sex1 = rsex.getText();
                    String sanitate1 = rsanitate.getText();
                    String award1 = raward.getText();
                    String studentname1 = rstudentname.getText();
                    Room room = new Room(name1,rnum1,count1,award1,sex1,sanitate1,studentname1);
                    new Manu(5,room);
                }
            });
        }
        if(select1==1){
            f.setLayout(new GridLayout(8,1,10,5));
            JPanel button = new JPanel();
            JLabel button_ = new JLabel("请点击按钮");
            JButton jb1 = new JButton("添加寝室");
            button.add(button_);
            button.add(jb1);
            f.add(button);//1
            JPanel r_name = new JPanel();
            JLabel roomname = new JLabel("寝室名字:");
            JTextField rname = new JTextField("",15);
            r_name.add(roomname);
            r_name.add(rname);
            f.add(r_name);//2
            JPanel r_num = new JPanel();
            JLabel roomnum = new JLabel("寝室号码:");
            JTextField rnum = new JTextField("",15);
            r_num.add(roomnum);
            r_num.add(rnum);
            f.add(r_num);//3
            JPanel r_count = new JPanel();
            JLabel roomcount = new JLabel("寝室人数:");
            JTextField rcount = new JTextField("",15);
            r_count.add(roomcount);
            r_count.add(rcount);
            f.add(r_count);//4
            JPanel r_sex = new JPanel();
            JLabel roomsex = new JLabel("寝室成员性别:");
            JTextField rsex = new JTextField("",15);
            r_sex.add(roomsex);
            r_sex.add(rsex);
            f.add(r_sex);//5
            JPanel r_sanitate = new JPanel();
            JLabel roomsanitate = new JLabel("寝室卫生:");
            JTextField rsanitate = new JTextField("",15);
            r_sanitate.add(roomsanitate);
            r_sanitate.add(rsanitate);
            f.add(r_sanitate);//6
            JPanel r_award = new JPanel();
            JLabel roomaward = new JLabel("寝室获奖情况:");
            JTextField raward = new JTextField("",15);
            r_award.add(roomaward);
            r_award.add(raward);
            f.add(r_award);//7
            JPanel r_studentname = new JPanel();
            JLabel roomstudentname = new JLabel("寝室长姓名:");
            JTextField rstudentname = new JTextField("",15);
            r_studentname.add(roomstudentname);
            r_studentname.add(rstudentname);
            f.add(r_studentname);//8

            jb1.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    //new Manu(4);

                    String name1 = rname.getText();
                    int rnum1 = Integer.parseInt(rnum.getText());
                    int count1 = Integer.parseInt(rcount.getText());
                    String sex1 = rsex.getText();
                    String sanitate1 = rsanitate.getText();
                    String award1 = raward.getText();
                    String studentname1 = rstudentname.getText();
                    Room room = new Room(name1,rnum1,count1,award1,sex1,sanitate1,studentname1);
                    new Manu(4,room);
                }
            });
        }
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
    }
    public void btnShow_ActionPerformed(ActionEvent ae,ArrayList arr){
        String[] title = {"寝室名字","寝室号码","寝室人数","寝室性别","寝室卫生","寝室获奖情况","寝室长姓名"};
        Object[][] info = new Object[1][7];
        room = (Room) arr.get(0);
        info[0][0] = room.getName();
        info[0][1] = room.getRnum();
        info[0][2] = room.getCount();
        info[0][3] = room.getSex();
        info[0][4] = room.getSanitate();
        info[0][5] = room.getAward();
        info[0][6] = room.getStudentname();
        this.tabDemo = new JTable(info, title);
        // 显示表头
        this.jth = this.tabDemo.getTableHeader();
        // 将JTable加入到带滚动条的面板中
        this.scpDemo.getViewport().add(tabDemo);
    }
    public void btnShow_ActionPerformed2(ActionEvent e , ArrayList arrayList){
        String[] title = {"寝室卫生排名(匿名)"};
        Object[][] info = new Object[arrayList.size()][1];
        int count = 0;
        for(Object obj:arrayList){
            info[count][0] = (String)obj;
            count++;
        }
        this.tabDemo = new JTable(info, title);
        // 显示表头
        this.jth = this.tabDemo.getTableHeader();
        // 将JTable加入到带滚动条的面板中
        this.scpDemo.getViewport().add(tabDemo);
    }
    public void btnShow_ActionPerformed3(ActionEvent e,ArrayList arr){
        String[] title = {"寝室名字","寝室号码","寝室人数","寝室性别","寝室卫生","寝室获奖情况","寝室长姓名"};
        Object[][] info = new Object[arr.size()][7];
        int count=0;
        Iterator iterator = arr.iterator();
        while (iterator.hasNext()){
            Room room1 =(Room) iterator.next();
            info[count][0] = room1.getName();
            info[count][1] = room1.getRnum();
            info[count][2] = room1.getCount();
            info[count][3] = room1.getSex();
            info[count][4] = room1.getSanitate();
            info[count][5] = room1.getAward();
            info[count][6] = room1.getStudentname();
            count++;
        }
        this.tabDemo = new JTable(info, title);
        // 显示表头
        this.jth = this.tabDemo.getTableHeader();
        // 将JTable加入到带滚动条的面板中
        this.scpDemo.getViewport().add(tabDemo);
    }
}

类2:

package database;

import javax.swing.*;
import java.sql.*;
import java.util.*;

public class JdbcRoom {
    // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
    final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
    final String DB_URL = "jdbc:mysql://127.0.0.1:3306/javaroommanage?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";

    Scanner sca = new Scanner(System.in);

    // 数据库的用户名与密码,需要根据自己的设置
    final String USER = "root";
    final String PASS = "root";
    Room room;

    public ArrayList getRName() {
        return RName;
    }

    public void setRName(ArrayList RName) {
        this.RName = RName;
    }

    ArrayList RName;
    String [] select = {"name",//寝室昵称
    "Rnum",//寝室号
    "count",//寝室人数
    "sex",//男寝还是女寝
    "sanitate",//寝室卫生
    "award",//寝室获奖情况
    "studentname"};//寝室长名字

    public JdbcRoom(int service,ArrayList  list1){//判断是哪个服务
        switch (service){
            case 1:JFindRoom(list1);break;//查找寝室
            case 2:JFindStudent(list1);break;//查找寝室长
            case 3:JAccessSanitateList();break;//获取卫生列表
            case 4:JInsertRoom(list1);break;//插入寝室
            case 5:JChangeStudent(list1);break;//修改寝室
            case 6:DeleteRoom(list1);break;//删除寝室
            case 7:JFindAllRoom();break;//所有寝室显示
        }
    }
    public void JFindRoom(ArrayList arrayList){
        int num = 0;
        num = (int)arrayList.get(0);//获取第一个值,就是要找的寝室号码
        System.out.println(num);
        int n = num;
        String sql;
        sql = "SELECT * FROM room WHERE Rnum = "+n;
        ExcuateJdbcAndSql(1,sql,n);
    }
    public void JFindStudent(ArrayList list){
        String sname;
        sname = (String) list.get(0);
        String sql;
        sql = "SELECT * FROM room WHERE studentname = '"+sname+"'";

        ExcuateJdbcAndSql(2,sql,1);
    }
    public void JAccessSanitateList(){
        String sql;
        sql = "SELECT Rnum,sanitate FROM room ";
        ExcuateJdbcAndSql(3,sql,1);
    }
    public void JChangeStudent(ArrayList arrayList){
        String sql;
        int id = (int)arrayList.get(1);
        sql = "UPDATE room SET name = '"+arrayList.get(0)+"',count = "+arrayList.get(2)+
                ",sex = '"+arrayList.get(3)+"',sanitate = '"+arrayList.get(4)+"',award = '"+arrayList.get(5)+"',studentname = '"+arrayList.get(6)+"' WHERE rnum = "+arrayList.get(1);

        ExcuateJdbcAndSql(5,sql,id);
    }
    public void JInsertRoom(ArrayList arrlist){
        int i=0;
        Iterator it = arrlist.iterator();
        TreeMap tm = new TreeMap();
        while(it.hasNext()){
            if(i==1||i==2){
                int a = (int)it.next();
                tm.put(select[i],a);
            }
            else {
                String a = (String) it.next();
                tm.put(select[i],a);
            }

            i++;
        }
        String sql;
        sql = "INSERT INTO room (name,Rnum,count,sex," +//输入有问题
                "sanitate,award,studentname) VALUES ('" +
                tm.get(select[0])+"',"+tm.get(select[1])+","+tm.get(select[2])+",'"+tm.get(select[3])
                +"','"+tm.get(select[4])+"','"+tm.get(select[5])+"','"+tm.get(select[6])+ "')";
        ExcuateJdbcAndSql(4,sql,(int)tm.get(select[1]));

    }
    public void DeleteRoom(ArrayList list){

        int num = 0;
        num = (int) list.get(0);
        int n = num;
        String sql;
        sql = "DELETE FROM room WHERE Rnum = "+n;
        ExcuateJdbcAndSql(6,sql,n);

    }
    public void JFindAllRoom(){
        String sql;
        sql = "SELECT * FROM room";
        ExcuateJdbcAndSql(7,sql,1);
    }
    public void ExcuateJdbcAndSql(int Jservise,String sql,int roomnumber){
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try{
            // 注册 JDBC 驱动
            Class.forName(JDBC_DRIVER);

            // 打开链接
            System.out.println("连接数据库...");
            conn = DriverManager.getConnection(DB_URL,USER,PASS);

            // 执行查询
            System.out.println(" 实例化Statement对象...");
            stmt = conn.createStatement();
            String sql_creattable = "CREATE TABLE IF NOT EXISTS room" +
                    "(Rnum INT NOT NULL," +
                    "name VARCHAR(45)," +
                    "count INT," +
                    "sex VARCHAR(45)," +
                    "sanitate VARCHAR(45)," +
                    "award VARCHAR(45)," +
                    "studentname VARCHAR(45)," +
                    "PRIMARY KEY (Rnum))";
            stmt.executeUpdate(sql_creattable);
            switch (Jservise){
                case 1:
                {
                    rs = stmt.executeQuery("SELECT Rnum FROM room WHERE Rnum = '"+roomnumber+"'");
                    int id=0;
                    int flag=0;
                    while(rs.next()){
                        id = rs.getInt("Rnum");
                        flag=1;
                    }
                    if(flag==0){
                        System.out.println("没有这样的寝室,查找失败");
                        break;
                    }
                    rs = stmt.executeQuery(sql);
                    while(rs.next()){
                        String name = rs.getString("name");
                        int Rnum = rs.getInt("Rnum");
                        int count = rs.getInt("count");
                        String sex = rs.getString("sex");
                        String sanitate = rs.getString("sanitate");
                        String award = rs.getString("award");
                        String studentname = rs.getString("studentname");
                       room = new Room(name,Rnum,count,sex,sanitate,award,studentname);

                    }
                    setRoom(room);
                    break;
                }
                case 2:
                {
                    rs = stmt.executeQuery(sql);
                    while(rs.next()){
                        String name = rs.getString("name");
                        int Rnum = rs.getInt("Rnum");
                        int count = rs.getInt("count");
                        String sex = rs.getString("sex");
                        String sanitate = rs.getString("sanitate");
                        String award = rs.getString("award");
                        String studentname = rs.getString("studentname");
                        room = new Room(name,Rnum,count,sex,sanitate,award,studentname);
                        setRoom(room);
                    }
                    break;
                }
                case 3:
                {
                    int ss = 0;
                    rs = stmt.executeQuery(sql);
                    RName = new ArrayList();
                    while(rs.next()){
                        RName.add( rs.getString("sanitate"));
                    }
                    Collections.sort(RName);
                    break;
                }
                case 4:
                {
                    int id=0;
                    rs = stmt.executeQuery("SELECT * FROM room WHERE Rnum = "+roomnumber);
                    while(rs.next()) {
                        id = rs.getInt("Rnum");
                    }
                    int fk = 1;
                    if(id>0){
                        System.out.println("已存在该寝室,无法添加");
                        fk=0;
                    }
                    if(fk==1)
                        stmt.executeUpdate(sql);
                    break;
                }
                case 5:
                {
                    int id=0;
                    rs = stmt.executeQuery("SELECT * FROM room WHERE Rnum = "+roomnumber);
                    while(rs.next()) {
                        id = rs.getInt("Rnum");
                    }
                    if(id>0) {
                        stmt.executeUpdate(sql);
                    }
                    else {
                        JFrame jf= new JFrame("修改失败界面");
                        jf.setBounds(100,200,200,250);
                        JLabel fault1 = new JLabel("没有这样的用户",SwingConstants.CENTER);
                        jf.add(fault1);
                        jf.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
                        jf.setVisible(true);
                    }
                    break;
                }
                case 6:
                {
                    rs = stmt.executeQuery("SELECT Rnum FROM room WHERE Rnum = '"+roomnumber+"'");
                    int id=0;
                    while(rs.next()){
                        id = rs.getInt("Rnum");

                    }
                    if(id>0){
                        stmt.executeUpdate(sql);
                    }
                    else System.out.println("没有这样的寝室,不可删除");

                    break;
                }
                case 7:
                {
                    rs = stmt.executeQuery(sql);
                    RName = new ArrayList();
                    while(rs.next()){
                        String name = rs.getString("name");
                        int Rnum = rs.getInt("Rnum");
                        int count = rs.getInt("count");
                        String sex = rs.getString("sex");
                        String sanitate = rs.getString("sanitate");
                        String award = rs.getString("award");
                        String studentname = rs.getString("studentname");
                        room = new Room(name,Rnum,count,sex,sanitate,award,studentname);
                        RName.add(room);
                    }
                    break;
                }
            }
            stmt.close();
            conn.close();
        }catch(SQLException se){
            // 处理 JDBC 错误
            se.printStackTrace();
        }catch(Exception e){
            // 处理 Class.forName 错误
            e.printStackTrace();
        }finally{
            // 关闭资源
            if(rs != null){
                try{
                    rs.close();
                }catch (SQLException e){
                    e.printStackTrace();
                }
                rs = null;
            }
            try{
                if(stmt!=null) stmt.close();
            }catch(SQLException se2){
            }// 什么都不做
            try{
                if(conn!=null) conn.close();
            }catch(SQLException se){
                se.printStackTrace();
            }
        }
        System.out.println("Goodbye!");
    }
    public void setRoom(Room room){
        this.room = room;
    }
    public Room getRoom(){
        return room;
    }
}

类3:

package database;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;

public class Manu {
    ArrayList arrayList = new ArrayList();



    Room jjxyroom;
    Room[] room = new Room[100];
    int comsumer_select;
    JdbcRoom jdroom;

    int i=0;
    Scanner scan = new Scanner(System.in);//输入要求
    public Manu(int xx,Room room){
        if(i>9999){
            System.out.println("寝室已满,不可添加数据");
        }



//        while(true){
//            System.out.println("********************************");
//            System.out.println("欢迎来到九江学院寝室管理系统");
//            System.out.println("请选择您要办理的业务");
//            System.out.println("1.寝室查询  2.寝室长查询  3.寝室卫生排名表");
//            System.out.println("4.添加寝室  5.修改寝室  6.删除寝室");
//            System.out.println("7.查询整个学校寝室数据  8.退出");
//            System.out.println("********************************");
//            System.out.print("请开始你的输入:");
        select_switch(xx,room);



        }
    //}
    public void select_switch(int userselect,Room room1){
        switch (userselect){
            case 8:
                System.out.println("欢迎下次使用");System.exit(0);break;
            case 1:FindRoom(room1);break;
            case 2:FindStudent(room1);break;
            case 3:AccessSanitateList();break;
            case 4:InsertRoom(room1);break;
            case 5:ChangeStudent(room1);break;
            case 6:DeleteRoom(room1);break;
            case 7:FindAllRoom();break;
            default:
                System.out.println("你的选项不在我们的服务范围内");
                System.out.println();
        }
    }
    public void FindRoom(Room room1){
        int room_number = room1.getRnum();
        arrayList.add(room_number);
        jdroom = new JdbcRoom(1,arrayList);
        jjxyroom=jdroom.getRoom();
        arrayList.clear();
    }
    public void FindStudent(Room room1){
        String StuName = room1.getStudentname();
        arrayList.add(StuName);

        jdroom = new JdbcRoom(2,arrayList);
        setJjxyroom(jdroom.getRoom());
        arrayList.clear();
    }
    public void AccessSanitateList(){

        jdroom = new JdbcRoom(3,arrayList);
        arrayList=jdroom.getRName();
    }
    public void InsertRoom(Room room1){
//        System.out.println("请按要求输入数据,不可缺少");
//        System.out.print("寝室昵称:");
//        String rname = scan.next();
//        System.out.print("寝室号码:");
//        int rnumber = scan.nextInt();
//        System.out.print("寝室人数:");
//        int rcount = scan.nextInt();
//        System.out.print("男寝or女寝:");
//        String rsex = scan.next();
//        System.out.print("寝室卫生:");
//        String rsanitate = scan.next();
//        System.out.print("寝室获奖:");
//        String raward = scan.next();
//        System.out.print("寝室长名字:");
//        String rstuname = scan.next();
        jjxyroom = room1;
        room[i] = jjxyroom;
        i++;

        arrayList  = jjxyroom.getList();
        jdroom = new JdbcRoom(4,arrayList);

    }
    public void ChangeStudent(Room room1){
        String name = room1.getName();
        arrayList.add(name);
        int number = room1.getRnum();
        arrayList.add(number);
        int count = room1.getCount();
        arrayList.add(count);
        String sex = room1.getSex();
        arrayList.add(sex);
        String sanitate = room1.getSanitate();
        arrayList.add(sanitate);
        String award = room1.getAward();
        arrayList.add(award);
        String studentname = room1.getStudentname();
        arrayList.add(studentname);
        jdroom = new JdbcRoom(5,arrayList);
        arrayList.clear();
    }
    public void DeleteRoom(Room room1){

        int number = room1.getRnum();
        arrayList.add(number);
        jdroom = new JdbcRoom(6,arrayList);
        arrayList.clear();
    }
    public void FindAllRoom(){

        jdroom = new JdbcRoom(7,arrayList);
        arrayList = new ArrayList();
        arrayList = jdroom.getRName();

    }
    public Room getJjxyroom() {
        return jjxyroom;
    }

    public void setJjxyroom(Room jjxyroom) {
        this.jjxyroom = jjxyroom;
    }
    public ArrayList getArrayList(){
        return arrayList;
    }
}

类4:

package database;

import java.util.ArrayList;

public class Room {
    String name;//寝室昵称
    int Rnum;//寝室号
    int count;//寝室人数
    String sex;//男寝还是女寝
    String sanitate;//寝室卫生
    String award;//寝室获奖情况
    String studentname;//寝室长名字
    public Room(){//未赋值时默认值
        this.name = "九江学院的某个寝室";
        this.Rnum = 9999;
        this.award = "无";
        this.sex = "男";
        this.sanitate = "合格";
        this.count = 0;
        this.studentname = "无";
    }
    public Room(String name,int Rnum,int count,String award,String sex,String sanitate,String studentname){
        this.name = name;
        this.Rnum = Rnum;
        this.count = count;
        this.award = award;
        this.sex = sex;
        this.sanitate = sanitate;
        this.studentname = studentname;
    }
    public ArrayList getList(){
        ArrayList list = new ArrayList();
        list.add(name);
        list.add(Rnum);
        list.add(count);
        list.add(award);
        list.add(sex);
        list.add(sanitate);
        list.add(studentname);
        return list;
    }
    public String getName(){
        return name;
    }
    public int getRnum(){
        return Rnum;
    }
    public int getCount(){
        return count;
    }
    public String getSex(){
        return sex;
    }
    public String getSanitate(){
        return sanitate;
    }
    public String getAward(){
        return award;
    }
    public void setStudentname(String studentname){
        this.studentname = studentname;
    }
    public String getStudentname(){
        return studentname;
    }
    public void setRnum(int Rnum){
        this.Rnum = Rnum;
    }
}

类5:

package database;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Test {
    public static void main(String[] args) {
        new Window();
    }//主界面
}

类5:

package database;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Window extends JFrame {

    public Window(){
        JFrame f = new JFrame("寝室管理系统");
        f.setLayout(new GridLayout(2,2));
        f.setSize(400,400);
        f.setLocation(450,200);
        ImageIcon imgjb1 = new ImageIcon("image/create.png");

        JButton jb1 = new JButton();
        jb1.setIcon(imgjb1);
        jb1.setRolloverIcon(imgjb1);
        f.add(jb1);
        JButton jb2 = new JButton();
        jb2.setIcon(new ImageIcon("image/delete.png"));
        f.add(jb2);
        JButton jb3 = new JButton();
        jb3.setIcon(new ImageIcon("image/update.png"));
        f.add(jb3);
        JButton jb4 = new JButton();
        jb4.setIcon(new ImageIcon("image/search.png"));
        f.add(jb4);
        jb1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                new HelpSelect(1);
            }
        });
        jb2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                new HelpSelect(2);
            }
        });
        jb3.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                new HelpSelect(3);
            }
        });
        jb4.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                new HelpSelect(4);
            }
        });
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

}

那么图片的话,其实可以自己找,这个网上都有,不能太过于依赖于我。

把jdbc要连接数据库的过程都去别的地方查一下就行,我只提供代码,文档和ppt的话

关注我,私信告诉我,我发给你,这上面不方便放文档,ppt。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值