一名普通的本科生,学代码有一年,这个是简单版本,功能不多,如果要旅游管理系统(比较高级(非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。