社团活动学分管理系统

2024-03-21 01:30

本文主要是介绍社团活动学分管理系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

摘要

之前忙于期末考试,所以没有时间把期末之前的课设写成博客。这次的课设虽然给定了可选题目,但是老师说做什么都可以。看见可选题目里有关于学分管理系统,考虑到时间紧迫,同时兼顾期末考试,故选择了这个社团学分管理系统。这里我也很感谢自己在校团委管理全校活动学分的同学为我这次课设提供了真实的学分数据。资源已经上传,如要下载请移步:http://download.csdn.net/detail/qq_30091945/9892876


遇到的困难

对于上学期的聊天室课设放不下,图形化界面当时花了很久才写完,这次百了下,图形画界面居然不是自己写,是用拖拽。我这次用的是Eclipse的插件——WindowBuilder。如没有安装的请移步WindowBuilder安装教程博客,网址为:http://blog.csdn.net/jason0539/article/details/21219043
之后由于想到所做的系统需要导入导出Excel文件,但是Java本身不支持Excel解析,故百度了个解析Excel的jar包——jxl,具体操作请移步:http://blog.csdn.net/yhawaii/article/details/6927927


不足之处

不足之处就是主窗口最大化之后,所有的标签,输入文本框,下拉列表的布局完全不安乱,或者说组件不能随着窗口的大小而相应变化,故改为把窗口不能改成固定大小且不能最大化。同时对于Excel导入导出功能,由于解析Excel文件的jar包–jxl不支持2010以上版本的Excel,故必须把Eccel文件转换为xls格式的文件才能导入。同时jxl一次导入3000条数据。而且现在只能解决单独导入学生信息,活动信息,学生-活动信息的excel文件,对于i一次性导入所有信息仍未解决。


社团活动学分管理数据库代码与E-R图

create database Community_Activity_Credit_Managementcreate table Student
(Student_ID nvarchar(20)primary key,Student_Name nvarchar(20),Class nvarchar(20),College nvarchar(20)
)create table Activity
(Activity_name nvarchar(20)primary key,Organizer nvarchar(20),Term nvarchar(20)
)create table Student_Activity
(Stu_ID nvarchar(20),Activity_Name nvarchar(20),Credit float,Certification_Time varchar(20),Prize nvarchar(20),primary key(Stu_ID,Activity_Name),foreign key(Stu_ID) references Student(Student_ID),foreign key(Activity_Name) references activity(Activity_Name)
)

这里写图片描述


主界面代码

package 社团活动学分管理系统;import java.awt.Dimension;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JMenu;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.SpringLayout;
import javax.swing.filechooser.FileSystemView;
import javax.swing.table.DefaultTableModel;import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;import java.io.BufferedReader;
import java.io.File;
import javax.swing.JLabel;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.awt.event.ActionEvent;
import javax.swing.JTable;
import java.awt.GridLayout;
import java.awt.Toolkit;/** 这是社团 学分管理系统的图形化主界面*/public class Community_Activity_Credit_Management {private JFrame frame;                           //程序主界面private JTextField textField_2;                 //“姓名”标签对应的输入文本框private JTextField textField_3;                 //“学号”标签对应的输入文本框private JTextField textField_4;                 //“活动名称”标签对应的输入文本框private JTextField textField_5;                 //“大于等于”标签对应输入文本框private JTextField textField_6;                 //“小于等于”标签对应输入文本框private JComboBox<String> comboBox;             //起始认证日期的"年"下拉列表private JComboBox<String> comboBox_1;           //起始认证日期的"月"下拉列表private JComboBox<String> comboBox_2;           //“学院”标签对应下拉列表private JComboBox<String> comboBox_3;           //“年级”标签对应下拉列表private JComboBox<String> comboBox_4;           //“班级”标签对应的下拉列表private JComboBox<String> comboBox_5;           //“活动主办方”标签对应的下拉列表private JComboBox<String> comboBox_6;           //起始认证日期的"日"下拉列表private JComboBox<String> comboBox_7;           //终止认证日期的"年"下拉列表private JComboBox<String> comboBox_8;           //终止认证日期的"月"下拉列表private JComboBox<String> comboBox_9;           //终止认证日期的"日"下拉列表private JTable table;                           //查询结果结果表格static SQL sql;                                 //社团活动学分管理系统的数据库功能实体类static HashMap<String, Integer> Grade;          //年级哈希表             static String[] names;                          //Jtable的属性/*** Launch the application.程序主运行程序*/public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {//实例化一个主程序窗口类Community_Activity_Credit_Management window = new Community_Activity_Credit_Management();window.frame.setVisible(true);//JDBC驱动连接String JDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";// SQL数据库引擎String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Community_Activity_Credit_Management";// 数据源String userName = "sa";String passWord = "123456";sql = new SQL(JDriver, url, userName, passWord);//年级哈希表初始化Grade = new HashMap<>();Grade.put("大一", 1);Grade.put("大二", 2);Grade.put("大三", 3);Grade.put("大四", 4);Grade.put("大五", 5);Grade.put("大六", 6);//JTable属性初始化names = new String[10];File file = new File("bin/社团活动学分管理系统/属性.txt");BufferedReader in = new BufferedReader(new FileReader(file));String str;int i = 0;while((str = in.readLine()) != null){names[i++] = str;}in.close();} catch (Exception e) {;e.printStackTrace();}}});}//获得起始时间或者终止时间的日字符串方法public String Get_Time_Day(String year,String month){String str = "";switch(Integer.valueOf(month)){case 1 :str += "31";break;case 2 :break;case 3 :str += "31";break;case 4 :str += "30";break;case 5 :str += "31";break;case 6 :str += "30";break;case 7 :str += "31";break;case 8 :str += "31";break;case 9 :str += "30";break;case 10:str += "31";break;case 11:str += "30";break;case 12:str += "31";break;}if(IsLeap_Year(Integer.valueOf(year)) && Integer.valueOf(month) == 2){str += "29";}if(!IsLeap_Year(Integer.valueOf(year)) && Integer.valueOf(month) == 2){str += "28";}return str;}//获取标准格式的认证日期方法public String Get_Certification_Time(String year,String month,String day){String str = "";str += year;str += "-";str += (Integer.valueOf(month) >= 10)?month:"0"+month;str += "-";str += (Integer.valueOf(day) >= 10)?day:"0"+day;return str;}//获取SQL Date的字符串方法public String Get_SQL_Time(String date){SimpleDateFormat format = (SimpleDateFormat)DateFormat.getInstance();format.applyPattern("yyyy-MM-dd");java.util.Date long_date;java.sql.Date sqlDate;String longdate = "";try {long_date = format.parse(date);sqlDate = new java.sql.Date(long_date.getTime());longdate = sqlDate.toString();} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}return longdate;}//根据各个下拉菜单,输入文本框获取SQL查询语句方法public String GetQuerySQL(){//SQL查询语句String query_sql = "SELECT  S.*,A.*,SA.Prize,SA.Certification_Time,SA.Credit "+"FROM Student S,Activity A,Student_Activity SA "+ "WHERE S.Student_ID = SA.Student_ID AND A.Activity_Name = SA.Activity_Name";//如果学号输入文本框不为空if(!"".equals(textField_3.getText())){query_sql += " AND S.Student_ID = " + "'"+textField_3.getText().trim().toString()+"'";}//如果活动名称输入文本框不为空if(!"".equals(textField_4.getText())){query_sql += " AND A.Activity_Name = "+"'"+textField_4.getText().trim().toString()+"'";}//如果姓名输入文本框不为空if(!"".equals(textField_2.getText())){query_sql += " AND S.Student_Name = "+"'"+textField_2.getText().trim().toString()+"'";}//“学分大于等于输入文本框”不为空if(!"".equals(textField_5.getText())){query_sql += " AND SA.Credit >= "+textField_5.getText().trim().toString();}//“学分小于等于输入文本框”不为空if(!"".equals(textField_6.getText())){query_sql += " AND SA.Credit <= "+textField_6.getText().trim().toString();}//活动主办方下拉列表是“--请选择--”略过,若不是,则加入相应的查询语句if(!"--请选择--".equals(comboBox_5.getSelectedItem().toString())){query_sql += " AND A.Organizer = "+"'"+comboBox_5.getSelectedItem().toString()+"'";}//班级下拉菜单是“--请选择--”略过,若不是,则加入相应的查询语句if(!"--请选择--".equals(comboBox_4.getSelectedItem().toString())){query_sql += " AND S.Class = "+"'"+comboBox_4.getSelectedItem().toString()+"'";}//年级下拉菜单是“--请选择--”略过,若不是,则加入相应的查询语句String grade = comboBox_3.getSelectedItem().toString();if(!"--请选择--".equals(grade)){int values = Grade.get(grade);int nowyear = Calendar.getInstance().get(Calendar.YEAR);int month = Calendar.getInstance().get(Calendar.MONTH)+1;int entryyear = 0;if(month >= 1 && month <= 6){entryyear = nowyear-values;}else{entryyear = nowyear-values+1;}String tmp = String.valueOf(entryyear);String patch = tmp.substring(tmp.length()-2,tmp.length());//System.out.println(patch);query_sql += " AND S.Student_ID like"+"'"+patch+"%'";}//学院下拉菜单是“--请选择--”略过,若不是,则加入相应的查询语句if(!"--请选择--".equals(comboBox_2.getSelectedItem().toString())){query_sql += " AND S.College = "+"'"+comboBox_2.getSelectedItem().toString()+"'";}//起始认证时间与终止认证时间是否被选String Start_Time_Year = comboBox.getSelectedItem().toString();String Stop_Time_Year = comboBox_7.getSelectedItem().toString();String Start_Time_Month = comboBox_1.getSelectedItem().toString();String Stop_Time_Month = comboBox_8.getSelectedItem().toString();String Start_Time_Day = comboBox_6.getSelectedItem().toString();String Stop_Time_Day = comboBox_9.getSelectedItem().toString();//System.out.println(Start_Time_Year+"-"+Start_Time_Month+"-"+Start_Time_Day);//System.out.println(Stop_Time_Year+"-"+Stop_Time_Month+"-"+Stop_Time_Day);//System.out.println();//起始日期的年月日与终止日期的年月日下拉列表的状态 ,不为“--请选择--”为真,反之为假boolean start_time_year_flag = !"--请选择--".equals(Start_Time_Year);boolean start_time_month_flag = !"--请选择--".equals(Start_Time_Month);boolean start_time_day_flag = !"--请选择--".equals(Start_Time_Day);boolean stop_time_year_flag = !"--请选择--".equals(Stop_Time_Year);boolean stop_time_month_flag = !"--请选择--".equals(Stop_Time_Month);boolean stop_time_day_flag = !"--请选择--".equals(Stop_Time_Day);//System.out.println(start_time_year_flag);//System.out.println(start_time_month_flag);//System.out.println(start_time_day_flag);//System.out.println(stop_time_year_flag);//System.out.println(stop_time_month_flag);//System.out.println(stop_time_day_flag);boolean start_time_all_flag = start_time_year_flag && start_time_month_flag && start_time_day_flag;boolean stop_time_all_flag = stop_time_year_flag && stop_time_month_flag&& stop_time_day_flag;boolean start_time_notall_flag = start_time_year_flag || start_time_month_flag || start_time_day_flag;boolean stop_time_notall_flag = stop_time_year_flag || stop_time_month_flag|| stop_time_day_flag;//System.out.println(start_time_all_flag);//System.out.println(stop_time_all_flag);String start_time_str = "";String stop_time_str = "";//起始认证日期与终止日期的年同时被全选时,且不为“--请选择--”if(start_time_all_flag && stop_time_all_flag){//被选起始日期start_time_str += Get_Certification_Time(Start_Time_Year, Start_Time_Month, Start_Time_Day);//被选终止日期stop_time_str += Get_Certification_Time(Stop_Time_Year, Stop_Time_Month, Stop_Time_Day);//获取SQL长日期字符串String start = Get_SQL_Time(start_time_str);String stop = Get_SQL_Time(stop_time_str);//System.out.println(start);//System.out.println(stop);//System.out.println();query_sql += " AND SA.Certification_Time BETWEEN " +"'"+start+"'"+" AND '"+stop+"'";}else if(start_time_notall_flag && !stop_time_notall_flag){if(!start_time_year_flag){Start_Time_Year = "";Start_Time_Year += "1970";//System.out.println(Start_Time_Year);}if(!start_time_month_flag){Start_Time_Month = "";Start_Time_Month += "1";//System.out.println(Start_Time_Month);}if(!start_time_day_flag){Start_Time_Day = "";Start_Time_Day += "1";//System.out.println(Start_Time_Day);}start_time_str += Get_Certification_Time(Start_Time_Year, Start_Time_Month, Start_Time_Day);String start = Get_SQL_Time(start_time_str);//System.out.println(start);//System.out.println();query_sql += " AND SA.Certification_Time >= "+"'"+start+"'";}else if(!start_time_all_flag && stop_time_all_flag){if(!stop_time_year_flag){Stop_Time_Year = "";Stop_Time_Year += "2100";//System.out.println(Stop_Time_Year);}if(!stop_time_month_flag){Stop_Time_Month = "";Stop_Time_Month += "12";//System.out.println(Stop_Time_Month);}if(!stop_time_day_flag){Stop_Time_Day = "";Stop_Time_Day += Get_Time_Day(Stop_Time_Year, Stop_Time_Month);//System.out.println(Stop_Time_Day);}stop_time_str += Get_Certification_Time(Stop_Time_Year, Stop_Time_Month, Stop_Time_Day);String stop = Get_SQL_Time(stop_time_str);//System.out.println(stop);//System.out.println();query_sql += " AND SA.Certification_Time <= "+"'"+stop+"'";}//System.out.println(query_sql);return query_sql;}//社团活动学分管理系统的构造方法public Community_Activity_Credit_Management() {initialize();}//把路径path下的txt文件的内容导入下拉列表的方法public void ComboBox_AddItem(JComboBox<String> comboBox,String path){File file = new File(path);BufferedReader in = null;try {in = new BufferedReader(new FileReader(file));String str;while((str = in.readLine())!= null){comboBox.addItem(str.trim());}in.close();} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//判断闰年方法public static boolean IsLeap_Year(int year){boolean flag;if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){flag = true;}else{flag = false;}return flag;}//数据导入JTable表格方法,总分查询除外public void Import_Data(ResultSet result,JTable table){try {result.last();int cnt = result.getRow();result.beforeFirst();String[][] data = new String[cnt][10];int i = 0;while(result.next()){data[i][0] = result.getString("Student_Name");data[i][1] = result.getString("Student_ID");data[i][2] = result.getString("College");data[i][3] = result.getString("Class");data[i][4] = result.getString("Activity_name");data[i][5] = result.getString("Organizer");data[i][6] = result.getString("Term");data[i][7] = result.getString("Prize");data[i][8] = result.getString("Certification_Time");data[i][9] = result.getString("Credit");i++;}for(int j = 0 ; j < i ; j++){for(int k = 0 ; k < 10 ; k++){System.out.print(data[j][k]+"    ");}System.out.println();}//结果展示DefaultTableModel model = new DefaultTableModel(data,names);table.setModel(model);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//导数总分数据到JTable组件并显示public void Import_Sum(ResultSet result , ResultSet sum ,JTable table){try {result.last();int cnt = result.getRow();result.beforeFirst();String[][] data = new String[cnt*2][10];int i = 0;while(result.next()){if(i == 0){data[i][0] = result.getString("Student_Name");data[i][1] = result.getString("Student_ID");data[i][2] = result.getString("College");data[i][3] = result.getString("Class");data[i][4] = result.getString("Activity_name");data[i][5] = result.getString("Organizer");data[i][6] = result.getString("Term");data[i][7] = result.getString("Prize");data[i][8] = result.getString("Certification_Time");data[i][9] = result.getString("Credit");i++;}else{if(result.getString("Student_ID").equals(data[i-1][1])){data[i][0] = result.getString("Student_Name");data[i][1] = result.getString("Student_ID");data[i][2] = result.getString("College");data[i][3] = result.getString("Class");data[i][4] = result.getString("Activity_name");data[i][5] = result.getString("Organizer");data[i][6] = result.getString("Term");data[i][7] = result.getString("Prize");data[i][8] = result.getString("Certification_Time");data[i][9] = result.getString("Credit");i++;}else{sum.next();data[i][8] = "合计:";data[i][9] = sum.getString("_sum");i++;data[i][0] = result.getString("Student_Name");data[i][1] = result.getString("Student_ID");data[i][2] = result.getString("College");data[i][3] = result.getString("Class");data[i][4] = result.getString("Activity_name");data[i][5] = result.getString("Organizer");data[i][6] = result.getString("Term");data[i][7] = result.getString("Prize");data[i][8] = result.getString("Certification_Time");data[i][9] = result.getString("Credit");i++;}}}/*for(int j = 0 ; j < 2*i ; j++){for(int k = 0 ; k < 10 ; k++){System.out.print(data[j][k]+"    ");}System.out.println();}*/String[] names = {"姓名","学号","学院","班级","活动名称","活动主办方","学年学期","奖项","认证时间","学分"};DefaultTableModel model = new DefaultTableModel(data,names);table.setModel(model);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}/*** Initialize the contents of the frame.界面初始化*/private void initialize() {frame = new JFrame();frame.setTitle("\u793E\u56E2\u6D3B\u52A8\u5B66\u5206\u7BA1\u7406\u7CFB\u7EDF");frame.setBounds(100, 100, 1280, 589);frame.setResizable(false);frame.setMinimumSize(new Dimension(400,400));frame.setMaximumSize(new Dimension(400,400));frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//菜单工具栏设计JMenuBar menuBar = new JMenuBar();frame.setJMenuBar(menuBar);//“菜单栏”下拉菜单设计JMenu menu = new JMenu("\u83DC\u5355");menuBar.add(menu);//“导入学生信息”菜单项设计JMenuItem mntmi = new JMenuItem("\u5BFC\u5165\u6587\u4EF6\uFF08I\uFF09");menu.add(mntmi);mntmi.setMnemonic('I');mntmi.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubJFileChooser chooser = new JFileChooser();chooser.setVisible(true);chooser.setMultiSelectionEnabled(true);chooser.showOpenDialog(mntmi);String absolutePath = chooser.getSelectedFile().getAbsolutePath();sql.Insert_ExcelFile(absolutePath);}});//“退出”菜单设计JMenuItem mntme_1 = new JMenuItem("\u9000\u51FA\uFF08E\uFF09");menu.add(mntme_1);mntme_1.setMnemonic('E');mntme_1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubJOptionPane pane = new JOptionPane();String message = "确定要退出吗?";int showConfirmDialog = JOptionPane.showConfirmDialog(mntme_1, message,"退出",JOptionPane.YES_NO_CANCEL_OPTION);Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();   //获取当前屏幕大小Dimension frameSize = pane.getPreferredSize();//获取当前窗口大小pane.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);//保持窗口弹出位置居中if(showConfirmDialog == JOptionPane.YES_OPTION){System.exit(0);}}});SpringLayout springLayout = new SpringLayout();frame.getContentPane().setLayout(springLayout);//面板JPanel panel = new JPanel();springLayout.putConstraint(SpringLayout.NORTH, panel, 10, SpringLayout.NORTH, frame.getContentPane());springLayout.putConstraint(SpringLayout.WEST, panel, 10, SpringLayout.WEST, frame.getContentPane());springLayout.putConstraint(SpringLayout.SOUTH, panel, -356, SpringLayout.SOUTH, frame.getContentPane());springLayout.putConstraint(SpringLayout.EAST, panel, 0, SpringLayout.EAST, frame.getContentPane());frame.getContentPane().add(panel);//“信息填入窗口”设计SpringLayout sl_panel = new SpringLayout();panel.setLayout(sl_panel);//“起始认证日期”标签JLabel label_2 = new JLabel("\u8D77\u59CB\u8BA4\u8BC1\u65E5\u671F");sl_panel.putConstraint(SpringLayout.NORTH, label_2, 10, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.WEST, label_2, 10, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.SOUTH, label_2, -116, SpringLayout.SOUTH, panel);sl_panel.putConstraint(SpringLayout.EAST, label_2, -1173, SpringLayout.EAST, panel);panel.add(label_2);//"终止认证日期标签"设计JLabel lblNewLabel1 = new JLabel("\u7EC8\u6B62\u8BA4\u8BC1\u65E5\u671F");sl_panel.putConstraint(SpringLayout.NORTH, lblNewLabel1, 70, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.WEST, lblNewLabel1, 10, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.EAST, lblNewLabel1, -1163, SpringLayout.EAST, panel);panel.add(lblNewLabel1);//“学院”标签设计JLabel lblNewLabel_1 = new JLabel("\u5B66\u9662");sl_panel.putConstraint(SpringLayout.NORTH, lblNewLabel_1, 0, SpringLayout.NORTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.SOUTH, lblNewLabel_1, 0, SpringLayout.SOUTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.EAST, lblNewLabel_1, -742, SpringLayout.EAST, panel);panel.add(lblNewLabel_1);//“学院”标签对应下拉列表设计comboBox_2 = new JComboBox<String>();sl_panel.putConstraint(SpringLayout.NORTH, comboBox_2, 0, SpringLayout.NORTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.WEST, comboBox_2, 3, SpringLayout.EAST, lblNewLabel_1);String college_path = "bin/社团活动学分管理系统/学院.txt";comboBox_2.addItem("--请选择--");ComboBox_AddItem(comboBox_2, college_path);panel.add(comboBox_2);//“年级”标签设计JLabel label_3 = new JLabel("\u5E74\u7EA7");sl_panel.putConstraint(SpringLayout.EAST, comboBox_2, -24, SpringLayout.WEST, label_3);sl_panel.putConstraint(SpringLayout.EAST, label_3, -597, SpringLayout.EAST, panel);sl_panel.putConstraint(SpringLayout.WEST, label_3, 636, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.NORTH, label_3, 0, SpringLayout.NORTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.SOUTH, label_3, 0, SpringLayout.SOUTH, lblNewLabel1);panel.add(label_3);//“年级”标签对应下拉列表设计comboBox_3 = new JComboBox<String>();sl_panel.putConstraint(SpringLayout.NORTH, comboBox_3, 0, SpringLayout.NORTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.WEST, comboBox_3, 6, SpringLayout.EAST, label_3);sl_panel.putConstraint(SpringLayout.SOUTH, comboBox_3, 0, SpringLayout.SOUTH, lblNewLabel1);int nowyear = Calendar.getInstance().get(Calendar.YEAR);comboBox_3.addItem("--请选择--");comboBox_3.addItem("大一");comboBox_3.addItem("大二");comboBox_3.addItem("大三");comboBox_3.addItem("大四");comboBox_3.addItem("大五");comboBox_3.addItem("大六");panel.add(comboBox_3);//“班级”标签设计JLabel label_4 = new JLabel("\u73ED\u7EA7");sl_panel.putConstraint(SpringLayout.EAST, comboBox_3, -6, SpringLayout.WEST, label_4);sl_panel.putConstraint(SpringLayout.WEST, label_4, 764, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.NORTH, label_4, 0, SpringLayout.NORTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.SOUTH, label_4, 0, SpringLayout.SOUTH, lblNewLabel1);panel.add(label_4);//“班级”标签对应的下拉列表设计comboBox_4 = new JComboBox<String>();sl_panel.putConstraint(SpringLayout.WEST, comboBox_4, 6, SpringLayout.EAST, label_4);sl_panel.putConstraint(SpringLayout.SOUTH, comboBox_4, 0, SpringLayout.SOUTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.NORTH, comboBox_4, 0, SpringLayout.NORTH, lblNewLabel1);comboBox_4.addItem("--请选择--");String class_path = "bin/社团活动学分管理系统/班级.txt";ComboBox_AddItem(comboBox_4, class_path);//System.out.println(comboBox_4.getSelectedItem().toString());panel.add(comboBox_4);//“姓名”标签设计JLabel label_5 = new JLabel("\u59D3\u540D");sl_panel.putConstraint(SpringLayout.SOUTH, label_5, -10, SpringLayout.SOUTH, panel);panel.add(label_5);//“姓名”标签对应的输入文本框设计textField_2 = new JTextField();sl_panel.putConstraint(SpringLayout.WEST, textField_2, 409, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.EAST, label_5, -6, SpringLayout.WEST, textField_2);sl_panel.putConstraint(SpringLayout.NORTH, textField_2, 0, SpringLayout.NORTH, label_5);sl_panel.putConstraint(SpringLayout.SOUTH, textField_2, 0, SpringLayout.SOUTH, label_5);panel.add(textField_2);textField_2.setColumns(10);//“学号”标签设计JLabel label_6 = new JLabel("\u5B66\u53F7");sl_panel.putConstraint(SpringLayout.NORTH, label_6, 18, SpringLayout.SOUTH, comboBox_2);sl_panel.putConstraint(SpringLayout.WEST, label_6, 543, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.SOUTH, label_6, -18, SpringLayout.SOUTH, panel);sl_panel.putConstraint(SpringLayout.EAST, textField_2, -14, SpringLayout.WEST, label_6);panel.add(label_6);//“学号”标签对应的输入文本框设计textField_3 = new JTextField();sl_panel.putConstraint(SpringLayout.NORTH, textField_3, 19, SpringLayout.SOUTH, comboBox_2);sl_panel.putConstraint(SpringLayout.WEST, textField_3, 6, SpringLayout.EAST, label_6);sl_panel.putConstraint(SpringLayout.SOUTH, textField_3, -10, SpringLayout.SOUTH, panel);panel.add(textField_3);//System.out.println("".equals(textField_3.getText()));textField_3.setColumns(10);//“活动名称”标签设计JLabel label_7 = new JLabel("\u6D3B\u52A8\u540D\u79F0");sl_panel.putConstraint(SpringLayout.NORTH, label_7, 9, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.SOUTH, label_7, -116, SpringLayout.SOUTH, panel);panel.add(label_7);//“活动名称”标签对应的输入文本框设计textField_4 = new JTextField();sl_panel.putConstraint(SpringLayout.NORTH, textField_4, 10, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.SOUTH, textField_4, -13, SpringLayout.NORTH, label_4);sl_panel.putConstraint(SpringLayout.EAST, comboBox_4, 0, SpringLayout.EAST, textField_4);sl_panel.putConstraint(SpringLayout.EAST, label_7, -19, SpringLayout.WEST, textField_4);sl_panel.putConstraint(SpringLayout.WEST, textField_4, 789, SpringLayout.WEST, panel);panel.add(textField_4);textField_4.setColumns(10);//"活动主办方”标签设计JLabel lblNewLabel_2 = new JLabel("\u6D3B\u52A8\u4E3B\u529E\u65B9");sl_panel.putConstraint(SpringLayout.NORTH, lblNewLabel_2, 10, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.WEST, lblNewLabel_2, 528, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.SOUTH, lblNewLabel_2, -13, SpringLayout.NORTH, comboBox_2);panel.add(lblNewLabel_2);//“活动主办方”标签对应的下拉列表设计comboBox_5 = new JComboBox<String>();sl_panel.putConstraint(SpringLayout.NORTH, comboBox_5, 8, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.SOUTH, comboBox_5, -12, SpringLayout.NORTH, comboBox_2);sl_panel.putConstraint(SpringLayout.EAST, lblNewLabel_2, -6, SpringLayout.WEST, comboBox_5);sl_panel.putConstraint(SpringLayout.WEST, comboBox_5, 600, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.EAST, comboBox_5, -6, SpringLayout.WEST, label_7);//comboBox_5.addItem("");String path = "bin/社团活动学分管理系统/活动主办方.txt";comboBox_5.addItem("--请选择--");ComboBox_AddItem(comboBox_5,path);panel.add(comboBox_5);//“明细查询”按钮设计JButton btnNewButton = new JButton("\u660E\u7EC6\u67E5\u8BE2");sl_panel.putConstraint(SpringLayout.NORTH, btnNewButton, 10, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.EAST, textField_4, -7, SpringLayout.WEST, btnNewButton);sl_panel.putConstraint(SpringLayout.WEST, btnNewButton, 917, SpringLayout.WEST, panel);btnNewButton.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtry {Statement statement = sql.GetConnection().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);String query_sql_detail = "SELECT  S.*,A.*,SA.Prize,SA.Certification_Time,SA.Credit "+"FROM Student S,Activity A,Student_Activity SA "+ "WHERE S.Student_ID = SA.Student_ID AND A.Activity_Name = SA.Activity_Name";query_sql_detail += " ORDER BY SA.Student_ID,S.College ,S.Class,A.Term,SA.Certification_Time,A.Organizer,A.Activity_Name,SA.Credit";ResultSet result = statement.executeQuery(query_sql_detail);Import_Data(result, table);} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});panel.add(btnNewButton);//“总分查询”按钮设计JButton btnNewButton_1 = new JButton("\u603B\u5206\u67E5\u8BE2");sl_panel.putConstraint(SpringLayout.WEST, btnNewButton_1, 1022, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.EAST, btnNewButton, -6, SpringLayout.WEST, btnNewButton_1);sl_panel.putConstraint(SpringLayout.NORTH, btnNewButton_1, 10, SpringLayout.NORTH, panel);btnNewButton_1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub//明细查询SQL查询语句String query_sql_all = "SELECT  S.*,A.*,SA.Prize,SA.Certification_Time,SA.Credit "+"FROM Student S,Activity A,Student_Activity SA "+ "WHERE S.Student_ID = SA.Student_ID AND A.Activity_Name = SA.Activity_Name";//总分查询SQL查询语句String query_sql_sum = "SELECT SA.Student_ID,Sum(SA.Credit) as _sum "+"FROM Student_Activity SA Group BY SA.Student_ID";//如果学号输入文本框不为空if(!"".equals(textField_3.getText())){query_sql_all += " AND S.Student_ID = " + "'"+textField_3.getText()+"'";}//如果姓名输入文本框不为空if(!"".equals(textField_2.getText())){query_sql_all += " AND S.Student_Name = "+"'"+textField_2.getText()+"'";}query_sql_all += " ORDER BY SA.Student_ID,S.College ,S.Class,A.Term,SA.Certification_Time,A.Organizer,A.Activity_Name,SA.Credit";//System.out.println(query_sql_all);//System.out.println(query_sql_sum);try {Statement statement1 = sql.GetConnection().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);Statement statement2 = sql.GetConnection().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSet sum = statement1.executeQuery(query_sql_sum);ResultSet result = statement2.executeQuery(query_sql_all);Import_Sum(result, sum, table);} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});panel.add(btnNewButton_1);//“Excel输出”按钮设计JButton btnExcel = new JButton("Excel\u8F93\u51FA");sl_panel.putConstraint(SpringLayout.EAST, btnNewButton_1, -6, SpringLayout.WEST, btnExcel);sl_panel.putConstraint(SpringLayout.WEST, btnExcel, 1127, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.EAST, btnExcel, -10, SpringLayout.EAST, panel);sl_panel.putConstraint(SpringLayout.NORTH, btnExcel, 10, SpringLayout.NORTH, panel);btnExcel.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubtry {String[] excel_header = {"姓名","学号","学院","班级","活动名称","活动主办方","学年学期","奖项","认证时间","学分"};//得到主机的桌面的绝对路径,并生成输出Excel文件的绝对路径(用系统时间命名)String output_excel_path = FileSystemView.getFileSystemView().getHomeDirectory().getAbsolutePath();Date date = new Date();SimpleDateFormat fomat = new SimpleDateFormat("yyyy年MM月dd日HH点mm分ss秒");String str = fomat.format(date);output_excel_path += "\\"+str+".xls";File output_excel = new File(output_excel_path);//创建一个Excel工作簿WritableWorkbook workbook = Workbook.createWorkbook(output_excel);//生成名为“Sheet0”的工作表,参数0表示这是第一页WritableSheet sheet = workbook.createSheet("Sheet0", 0);//把属性名写在第i列第0行for(int i = 0 ; i < excel_header.length ; i++){Label label = new Label(i,0, excel_header[i]);sheet.addCell(label);}DefaultTableModel model = (DefaultTableModel)table.getModel();int rows = model.getRowCount();int columns = model.getColumnCount();//把数据一次写在第j列第i+1行for(int i = 0 ; i < rows ; i++){for(int j = 0 ; j < columns ; j++){Label label = new Label(j,i+1,(String) model.getValueAt(i, j));sheet.addCell(label);}}workbook.write();workbook.close();JOptionPane pane = new JOptionPane();Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();   //获取当前屏幕大小Dimension frameSize = pane.getPreferredSize();//获取当前窗口大小pane.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);//保持窗口弹出位置居中String message = "Excel文件已经放在桌面上了!\n"+"文件名为:"+str;@SuppressWarnings("unused")int showConfirmDialog = JOptionPane.showConfirmDialog(btnExcel, message,"确定",JOptionPane.DEFAULT_OPTION);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (RowsExceededException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (WriteException e) {// TODO Auto-generated catch blocke.printStackTrace();}}});panel.add(btnExcel);//“记录查询”按钮设计JButton button = new JButton("\u8BB0\u5F55\u67E5\u8BE2");sl_panel.putConstraint(SpringLayout.SOUTH, btnNewButton_1, -13, SpringLayout.NORTH, button);sl_panel.putConstraint(SpringLayout.SOUTH, button, 0, SpringLayout.SOUTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.NORTH, button, 0, SpringLayout.NORTH, lblNewLabel1);button.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtry {String query_sql = GetQuerySQL();query_sql += " ORDER BY SA.Student_ID,S.College ,S.Class,A.Term,SA.Certification_Time,A.Organizer,A.Activity_Name,SA.Credit";//System.out.println(query_sql);Statement statement = sql.GetConnection().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSet result;result = statement.executeQuery(query_sql);Import_Data(result, table);} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});panel.add(button);//“记录删除”按钮设计JButton button_1 = new JButton("\u8BB0\u5F55\u5220\u9664");sl_panel.putConstraint(SpringLayout.EAST, button, -6, SpringLayout.WEST, button_1);sl_panel.putConstraint(SpringLayout.WEST, button_1, 1127, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.SOUTH, btnExcel, -13, SpringLayout.NORTH, button_1);sl_panel.putConstraint(SpringLayout.SOUTH, button_1, 0, SpringLayout.SOUTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.NORTH, button_1, 0, SpringLayout.NORTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.EAST, button_1, 0, SpringLayout.EAST, btnExcel);button_1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtry {String join = "DELETE FROM Student_Activity WHERE";DefaultTableModel model = (DefaultTableModel)table.getModel();int rows = model.getRowCount();Statement statement = sql.GetConnection().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);int cnt = 0;for(int i = 0 ; i < rows ; i++){String delete_sql = " Student_ID = '"+model.getValueAt(i, 1)+"'";delete_sql += " AND Activity_Name = '"+model.getValueAt(i, 4)+"'";      delete_sql = join + delete_sql;System.out.println(delete_sql);if(statement.executeUpdate(delete_sql) == -1){System.out.println("删除失败");}else{cnt++;}}JOptionPane pane = new JOptionPane();String message = "共有"+rows+"条数据,已经删除了"+cnt+"条数据";int showConfirmDialog = JOptionPane.showConfirmDialog(button_1, message,"删除结果",JOptionPane.PLAIN_MESSAGE);Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();   //获取当前屏幕大小Dimension frameSize = pane.getPreferredSize();//获取当前窗口大小pane.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);//保持窗口弹出位置居中if(showConfirmDialog == JOptionPane.PLAIN_MESSAGE){for(int i = 0 ; i < rows ; i++){model.removeRow(i);}}} catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}});panel.add(button_1);//“退出”按钮设计JButton button_2 = new JButton("\u9000     \u51FA");sl_panel.putConstraint(SpringLayout.EAST, label_6, -553, SpringLayout.WEST, button_2);sl_panel.putConstraint(SpringLayout.EAST, textField_3, -399, SpringLayout.WEST, button_2);sl_panel.putConstraint(SpringLayout.NORTH, button_2, 9, SpringLayout.SOUTH, button_1);sl_panel.putConstraint(SpringLayout.SOUTH, button_2, -15, SpringLayout.SOUTH, panel);sl_panel.putConstraint(SpringLayout.WEST, button_2, 0, SpringLayout.WEST, btnExcel);sl_panel.putConstraint(SpringLayout.EAST, button_2, -10, SpringLayout.EAST, panel);button_2.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubJOptionPane pane = new JOptionPane();String message = "确定要退出吗?";Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();   //获取当前屏幕大小Dimension frameSize = pane.getPreferredSize();//获取当前窗口大小pane.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);//保持窗口弹出位置居中int showConfirmDialog = JOptionPane.showConfirmDialog(button_2, message,"退出",JOptionPane.YES_NO_CANCEL_OPTION);if(showConfirmDialog == JOptionPane.YES_OPTION){System.exit(0);}}});panel.add(button_2);//“学分范围”标签设计JLabel label_8 = new JLabel("\u5B66\u5206\u8303\u56F4");sl_panel.putConstraint(SpringLayout.SOUTH, lblNewLabel1, -6, SpringLayout.NORTH, label_8);sl_panel.putConstraint(SpringLayout.NORTH, label_8, 103, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.SOUTH, label_8, -10, SpringLayout.SOUTH, panel);sl_panel.putConstraint(SpringLayout.WEST, label_8, 10, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.EAST, label_8, -1188, SpringLayout.EAST, panel);panel.add(label_8);//“大于等于”标签设计JLabel label_9 = new JLabel("\u5927\u4E8E\u7B49\u4E8E");sl_panel.putConstraint(SpringLayout.NORTH, label_9, 9, SpringLayout.SOUTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.WEST, label_9, 6, SpringLayout.EAST, label_8);sl_panel.putConstraint(SpringLayout.SOUTH, label_9, -15, SpringLayout.SOUTH, panel);sl_panel.putConstraint(SpringLayout.EAST, label_9, -1124, SpringLayout.EAST, panel);panel.add(label_9);//“大于等于”标签对应的输入文本框设计textField_5 = new JTextField();sl_panel.putConstraint(SpringLayout.NORTH, textField_5, 0, SpringLayout.NORTH, label_5);sl_panel.putConstraint(SpringLayout.WEST, textField_5, 6, SpringLayout.EAST, label_9);sl_panel.putConstraint(SpringLayout.SOUTH, textField_5, -10, SpringLayout.SOUTH, panel);sl_panel.putConstraint(SpringLayout.EAST, textField_5, 72, SpringLayout.EAST, label_9);panel.add(textField_5);textField_5.setColumns(10);//“小于等于”标签设计JLabel label_10 = new JLabel("\u5C0F\u4E8E\u7B49\u4E8E");sl_panel.putConstraint(SpringLayout.WEST, label_10, 217, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.SOUTH, label_10, -10, SpringLayout.SOUTH, panel);sl_panel.putConstraint(SpringLayout.EAST, label_10, -981, SpringLayout.EAST, panel);panel.add(label_10);//“小于等于”标签对应输入文本框设计textField_6 = new JTextField();sl_panel.putConstraint(SpringLayout.WEST, label_5, 22, SpringLayout.EAST, textField_6);sl_panel.putConstraint(SpringLayout.WEST, textField_6, 279, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.SOUTH, textField_6, -10, SpringLayout.SOUTH, panel);sl_panel.putConstraint(SpringLayout.EAST, textField_6, -914, SpringLayout.EAST, panel);panel.add(textField_6);textField_6.setColumns(10);//起始认证日期的"年"下拉列表comboBox = new JComboBox<String>();sl_panel.putConstraint(SpringLayout.NORTH, comboBox, 9, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.WEST, comboBox, 103, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.EAST, comboBox, -1080, SpringLayout.EAST, panel);comboBox.addItem("--请选择--");for(int i = 2011 ; i <= nowyear ; i++){comboBox.addItem(String.valueOf(i));}panel.add(comboBox);//起始认证日期的"年"标签JLabel label = new JLabel("\u5E74");sl_panel.putConstraint(SpringLayout.NORTH, label, 10, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.WEST, label, 25, SpringLayout.EAST, comboBox);panel.add(label);//起始认证日期的"月"下拉列表comboBox_1 = new JComboBox<String>();sl_panel.putConstraint(SpringLayout.NORTH, comboBox_1, 10, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.WEST, comboBox_1, 6, SpringLayout.EAST, label);sl_panel.putConstraint(SpringLayout.EAST, comboBox_1, 0, SpringLayout.EAST, textField_6);comboBox_1.addItem("--请选择--");for(int i = 1 ; i <= 12 ; i++){comboBox_1.addItem(String.valueOf(i));}panel.add(comboBox_1);//起始认证日期的"月"标签JLabel label_1 = new JLabel("\u6708");sl_panel.putConstraint(SpringLayout.NORTH, label_1, 10, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.WEST, label_1, 9, SpringLayout.EAST, comboBox_1);sl_panel.putConstraint(SpringLayout.EAST, label_1, -877, SpringLayout.EAST, panel);panel.add(label_1);//起始认证日期的"日"下拉列表comboBox_6 = new JComboBox<String>();sl_panel.putConstraint(SpringLayout.NORTH, comboBox_6, -1, SpringLayout.NORTH, label_2);sl_panel.putConstraint(SpringLayout.WEST, comboBox_6, 6, SpringLayout.EAST, label_1);comboBox_6.addItem("--请选择--");for( int i = 1 ; i <= 31 ; i++){comboBox_6.addItem(String.valueOf(i));}panel.add(comboBox_6);//起始认证日期的"日"标签JLabel label_11 = new JLabel("\u65E5");sl_panel.putConstraint(SpringLayout.EAST, comboBox_6, -6, SpringLayout.WEST, label_11);sl_panel.putConstraint(SpringLayout.NORTH, label_11, 10, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.WEST, label_11, 488, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.SOUTH, label_11, -13, SpringLayout.NORTH, lblNewLabel_1);sl_panel.putConstraint(SpringLayout.EAST, label_11, -18, SpringLayout.WEST, lblNewLabel_2);panel.add(label_11);//终止认证日期的"年"下拉列表comboBox_7 = new JComboBox<String>();sl_panel.putConstraint(SpringLayout.SOUTH, comboBox, -3, SpringLayout.NORTH, comboBox_7);sl_panel.putConstraint(SpringLayout.WEST, comboBox_7, 6, SpringLayout.EAST, lblNewLabel1);sl_panel.putConstraint(SpringLayout.NORTH, comboBox_7, 60, SpringLayout.NORTH, panel);sl_panel.putConstraint(SpringLayout.SOUTH, comboBox_7, -66, SpringLayout.SOUTH, panel);comboBox_7.addItem("--请选择--");for(int i = 2011 ; i <= nowyear ; i++){comboBox_7.addItem(String.valueOf(i));}panel.add(comboBox_7);//终止认证日期的"年"标签JLabel label_12 = new JLabel("\u5E74 ");sl_panel.putConstraint(SpringLayout.SOUTH, label, -13, SpringLayout.NORTH, label_12);sl_panel.putConstraint(SpringLayout.EAST, label, 12, SpringLayout.EAST, label_12);sl_panel.putConstraint(SpringLayout.NORTH, label_10, 0, SpringLayout.SOUTH, label_12);sl_panel.putConstraint(SpringLayout.EAST, comboBox_7, -6, SpringLayout.WEST, label_12);sl_panel.putConstraint(SpringLayout.NORTH, label_12, 0, SpringLayout.NORTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.WEST, label_12, 202, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.SOUTH, label_12, -57, SpringLayout.SOUTH, panel);panel.add(label_12);//终止认证日期的"月"下拉列表comboBox_8 = new JComboBox<String>();sl_panel.putConstraint(SpringLayout.SOUTH, comboBox_1, -13, SpringLayout.NORTH, comboBox_8);sl_panel.putConstraint(SpringLayout.EAST, label_12, -7, SpringLayout.WEST, comboBox_8);sl_panel.putConstraint(SpringLayout.SOUTH, comboBox_8, 0, SpringLayout.SOUTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.NORTH, comboBox_8, 0, SpringLayout.NORTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.WEST, comboBox_8, 232, SpringLayout.WEST, panel);comboBox_8.addItem("--请选择--");for(int i = 1 ; i <= 12 ; i++){comboBox_8.addItem(String.valueOf(i));}panel.add(comboBox_8);//终止认证日期的"月"标签JLabel label_13 = new JLabel("\u6708");sl_panel.putConstraint(SpringLayout.SOUTH, label_1, -13, SpringLayout.NORTH, label_13);sl_panel.putConstraint(SpringLayout.WEST, label_13, 337, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.NORTH, textField_6, 19, SpringLayout.SOUTH, label_13);sl_panel.putConstraint(SpringLayout.EAST, comboBox_8, -6, SpringLayout.WEST, label_13);sl_panel.putConstraint(SpringLayout.SOUTH, label_13, 0, SpringLayout.SOUTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.NORTH, label_13, 0, SpringLayout.NORTH, lblNewLabel1);panel.add(label_13);//终止认证日期的"日"下拉列表comboBox_9 = new JComboBox<String>();sl_panel.putConstraint(SpringLayout.SOUTH, comboBox_6, -13, SpringLayout.NORTH, comboBox_9);sl_panel.putConstraint(SpringLayout.NORTH, label_5, 19, SpringLayout.SOUTH, comboBox_9);sl_panel.putConstraint(SpringLayout.NORTH, comboBox_9, 0, SpringLayout.NORTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.WEST, comboBox_9, 380, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.SOUTH, comboBox_9, 0, SpringLayout.SOUTH, lblNewLabel1);comboBox_9.addItem("--请选择--");for( int i = 1 ; i <= 31 ; i++){comboBox_9.addItem(String.valueOf(i));}panel.add(comboBox_9);//终止认证日期的"日"标签JLabel label_14 = new JLabel("\u65E5");sl_panel.putConstraint(SpringLayout.EAST, label_14, -779, SpringLayout.EAST, panel);sl_panel.putConstraint(SpringLayout.WEST, lblNewLabel_1, 6, SpringLayout.EAST, label_14);sl_panel.putConstraint(SpringLayout.EAST, label_13, -102, SpringLayout.WEST, label_14);sl_panel.putConstraint(SpringLayout.EAST, comboBox_9, -6, SpringLayout.WEST, label_14);sl_panel.putConstraint(SpringLayout.SOUTH, label_14, 0, SpringLayout.SOUTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.NORTH, label_14, 0, SpringLayout.NORTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.WEST, label_14, 467, SpringLayout.WEST, panel);panel.add(label_14);//显示结果窗口网格面面板JPanel panel_1 = new JPanel();springLayout.putConstraint(SpringLayout.NORTH, panel_1, 8, SpringLayout.SOUTH, panel);springLayout.putConstraint(SpringLayout.WEST, panel_1, 10, SpringLayout.WEST, frame.getContentPane());springLayout.putConstraint(SpringLayout.SOUTH, panel_1, 347, SpringLayout.SOUTH, panel);springLayout.putConstraint(SpringLayout.EAST, panel_1, 0, SpringLayout.EAST, panel);frame.getContentPane().add(panel_1);panel_1.setLayout(new GridLayout(1, 0, 0, 0));//查询结果结果表格table = new JTable();table.setFillsViewportHeight(true);table.setEnabled(false);panel_1.add(new JScrollPane(table));//"获奖查询"按钮设计JButton button_3 = new JButton("\u83B7\u5956\u67E5\u8BE2");sl_panel.putConstraint(SpringLayout.EAST, label_4, -122, SpringLayout.WEST, button_3);sl_panel.putConstraint(SpringLayout.SOUTH, btnNewButton, -13, SpringLayout.NORTH, button_3);sl_panel.putConstraint(SpringLayout.WEST, button, 6, SpringLayout.EAST, button_3);sl_panel.putConstraint(SpringLayout.SOUTH, button_3, 0, SpringLayout.SOUTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.NORTH, button_3, 0, SpringLayout.NORTH, lblNewLabel1);sl_panel.putConstraint(SpringLayout.WEST, button_3, 917, SpringLayout.WEST, panel);sl_panel.putConstraint(SpringLayout.EAST, button_3, 0, SpringLayout.EAST, btnNewButton);button_3.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent arg0) {// TODO Auto-generated method stubtry {String query_sql_getPrize = GetQuerySQL(); query_sql_getPrize += " AND SA.Prize != 'NULL'";query_sql_getPrize += " ORDER BY SA.Student_ID,S.College ,S.Class,A.Term,SA.Certification_Time,A.Organizer,A.Activity_Name,SA.Credit";System.out.println(query_sql_getPrize);Statement statement = sql.GetConnection().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSet result = statement.executeQuery(query_sql_getPrize);Import_Data(result, table);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}});panel.add(button_3);}
}

数据库查询模块代码

package 社团活动学分管理系统;import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;/** 这是社团学分管理系统与数据库查询相关的功能模块*/public class SQL {private String JDriver;                 //JDBC SQL Sever数据库驱动名称private String Url;                     //需要连接的数据库的urlprivate String UserName;                //用户账号名称private String PassWord;                //用户账号密码private Connection connection;          //数据库连接实例 public Connection GetConnection() {return connection;}//构造方法public SQL(String jDriver, String url, String userName, String passWord) {super();JDriver = jDriver;Url = url;UserName = userName;PassWord = passWord;//加载SQL Sever数据库引擎try {Class.forName(JDriver);// 加载数据库引擎,返回给定字符串名的类} catch (ClassNotFoundException e) {// e.printStackTrace();System.out.println("加载数据库引擎失败");System.exit(0);}System.out.println("数据库驱动成功");//与数据库建立连接try {connection = DriverManager.getConnection(this.Url,this.UserName,this.PassWord);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//插入一条活动信息方法public void Insert_Acticity(Activity activity){try {String insert_sql = "INSERT INTO Activity "+activity.Insert_SQL();String query_sql = "SELECT * FROM Activity "+activity.Select_SQL();//System.out.println(insert_sql);//System.out.println(query_sql);Statement statement = this.connection.createStatement();ResultSet executeQuery = statement.executeQuery(query_sql);boolean flag = false;           //判断表中数据是否存在标志while(executeQuery.next()){String activity_name = executeQuery.getString("Activity_Name");String term = executeQuery.getString("Term");String organizer = executeQuery.getString("Organizer");if(activity.equals(new Activity(activity_name,organizer,term))){flag = true;break;}else {continue;}}if(flag){System.out.println("数据已经在学生信息表存在,不需要进行插入");}else{int row = statement.executeUpdate(insert_sql);if(row == 1){System.out.println("插入数据成功");}else{System.out.println("插入数据失败");}}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//插入一条学生记录方法public void Insert_Student(Student student){try {String insert_sql = "INSERT INTO Student "+student.Insert_SQL();String query_sql = "SELECT * FROM Student "+student.Select_SQL();//System.out.println(insert_sql);//System.out.println(query_sql);Statement statement = this.connection.createStatement();ResultSet executeQuery = statement.executeQuery(query_sql);boolean flag = false;           //判断表中数据是否存在标志while(executeQuery.next()){String stu_id = executeQuery.getString("Student_ID");String stu_name = executeQuery.getString("Student_Name");String _class = executeQuery.getString("Class");String college = executeQuery.getString("College");if(student.equals(new Student(stu_name,stu_id,_class,college))){flag = true;break;}else {continue;}}if(flag){System.out.println("数据已经在学生信息表存在,不需要进行插入");}else{int row = statement.executeUpdate(insert_sql);if(row == 1){System.out.println("插入数据成功");}else{System.out.println("插入数据失败");}}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public void Insert_Student_Activity(Student_Activity student_activity){try {String insert_sql = "INSERT INTO Student_Activity "+student_activity.Insert_SQL();String query_sql = "Select * from Student_Activity "+student_activity.Select_SQL();System.out.println(insert_sql);System.out.println(query_sql);Statement statement = this.connection.createStatement();ResultSet executeQuery = statement.executeQuery(query_sql);boolean flag = false;           //判断表中数据是否存在标志while(executeQuery.next()){String stu_id = executeQuery.getString("Student_ID");String activity_name = executeQuery.getString("Activity_Name");float credit = (float)executeQuery.getInt("Credit");String certification_time = executeQuery.getString("Certification_Time");String prize = executeQuery.getString("Prize");if(student_activity.equals(new Student_Activity(stu_id, activity_name, prize, certification_time,credit))){flag = true;break;}else {continue;}}if(flag){System.out.println("数据已经在学生活动信息表存在,不需要进行插入");}else{int row = statement.executeUpdate(insert_sql);if(row == 1){System.out.println("插入数据成功");}else{System.out.println("插入数据失败");}}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//整体导入Excel文件public void Insert_ExcelFile(String path){try {File file = new File(path);System.out.println(path);Workbook workbook = Workbook.getWorkbook(file);Sheet[] sheets = workbook.getSheets();for(Sheet sheet:sheets){int rows = sheet.getRows();if( rows > 0){if(rows > 1){Cell[] cell = sheet.getRow(0);String str = null;for(Cell c:cell){str += c.getContents().trim();}//Excel文件如果是学生信息的文件if(str.contains("姓名") && str.contains("学号")&&str.contains("学院")&&str.contains("班级")){for(int i = 1 ; i < rows ; i++){Cell[] cells = sheet.getRow(i);String[] s = new String[4];for(int j = 0 ; j < cells.length ; j++){s[j] = cells[j].getContents().trim();}Student student = new Student(s[0], s[1], s[2], s[3]);Insert_Student(student);}}//Excel文件如果是活动信息的文件if(str.contains("活动名称") && str.contains("活动主办方")&&str.contains("学年学期")){for(int i = 1 ; i < rows ; i++){Cell[] cells = sheet.getRow(i);String[] s = new String[3];for(int j = 0 ; j < cells.length ; j++){s[j] = cells[j].getContents().trim();}Activity activity = new Activity(s[0], s[1], s[2]);Insert_Acticity(activity);}}//Excel文件如果是学生活动信息的文件if(str.contains("学号") && str.contains("活动名称") &&str.contains("认证日期") &&str.contains("奖项") &&str.contains("学分")){for(int i = 1 ; i < rows ; i++){Cell[] cells = sheet.getRow(i);String[] s = new String[5];for(int j = 0 ; j < cells.length ; j++){s[j] = cells[j].getContents().trim();System.out.println(s[2]);}s[3] = "20"+s[3];try {  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");java.util.Date date = format.parse(s[3]);  java.sql.Date sqlDate = new java.sql.Date(date.getTime()); String string = sqlDate.toString();Student_Activity student_activity = new Student_Activity(s[0], s[1], s[2],string,Float.valueOf(s[4]));Insert_Student_Activity(student_activity);}catch (Exception ex) {  System.out.println(ex.getMessage());  }}}}}}}catch (BiffException | IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}//记录查询public boolean Query(String query_sql){try {Statement statement = this.connection.createStatement();ResultSet executeQuery = statement.executeQuery(query_sql);return executeQuery.next();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return false;}public static void main(String[] args) {// TODO Auto-generated method stubString JDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";// SQL数据库引擎String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Community_Activity_Credit_Management";// 数据源String userName = "sa";String passWord = "123456";SQL sql = new SQL(JDriver, url, userName, passWord);//String path1 = "D:\\大学计算机\\嵌入式操作系统\\专题实训2\\社团活动学分管理系统\\bin\\社团活动学分管理系统\\活动信息.xls";//String path2 = "D:\\大学计算机\\嵌入式操作系统\\专题实训2\\社团活动学分管理系统\\bin\\社团活动学分管理系统\\学生信息.xls";String path3 = "C:\\Users\\77183\\Desktop\\学生活动信息.xls";//sql.Insert_ExcelFile(path2);//sql.Insert_ExcelFile(path1);sql.Insert_ExcelFile(path3);}
}

学生信息类代码

package 社团活动学分管理系统;/** 这是社团学分管理系统的学生实体类*/public class Student {private String Student_Name;                //学生姓名private String Student_ID;                  //学生学号private String Class;                       //学生班级private String College;                     //学生学院//学生实体类构造方法public Student(String student_Name, String student_ID, String class1, String college) {super();Student_Name = student_Name;Student_ID = student_ID;Class = class1;College = college;}//数据库插入语句生成方法public String Insert_SQL() {return "VALUES('"+Student_Name+"','"+Student_ID+"','"+Class+"','"+College+"')";}//数据库查询语句生成方法public String Select_SQL() {return "WHERE Student_Name = '"+ Student_Name + "' and Student_ID = '" + Student_ID + "' and Class = '" + Class + "' and College = '" + College+"'";}public String getStudent_Name() {return Student_Name;}public String getStudent_ID() {return Student_ID;}public String getclass() {return Class;}public String getCollege() {return College;}   public boolean equal(Student student){boolean student_id = this.Student_ID.equals(student.getStudent_ID());boolean student_name = this.Student_Name.equals(student.getStudent_Name());boolean _class = this.Class.equals(student.getclass());boolean college = this.College.equals(student.getCollege());boolean flag = student_id && student_name && _class && college;return flag;}
}

活动信息类代码

package 社团活动学分管理系统;/** 这是社团学分管理数据库中的活动数据库的活动实体类*/public class Activity {private String Activity_Name = null;                    //活动名称private String Organizer = null;                        //主办方private String Term = null;                             //学年学期//构造方法public Activity(String activity_Name, String organizer, String term) {super();Organizer = organizer;Activity_Name = activity_Name;Term = term;}//数据库的插入语句生成方法public String Insert_SQL(){String str = "VALUES('" +  Activity_Name + "','" + Organizer + "','" + Term + "')";return str;}//数据库的查询语句生成方法public String Select_SQL(){return "WHERE Organizer = '"+ Organizer + "' and Activity_Name = '" + Activity_Name + "' and Term = '" + Term+"'";}   public String getOrganizer() {return Organizer;}public String getActivity_Name() {return Activity_Name;}public String getTerm() {return Term;}public boolean equal(Activity activity){boolean activity_name = this.Activity_Name.equals(activity.getActivity_Name());   boolean term = this.Term.equals(activity.getTerm());boolean organizer = this.Organizer.equals(activity.getOrganizer());boolean flag = activity_name && term && organizer;return flag;}
}

学生-活动信息类代码

package 社团活动学分管理系统;/** 这是社团活动学分管理系统中学生-活动实体类*/public class Student_Activity {private String Student_ID = null;                   //学生学号private String Activity_Name = null;                //活动名称private String Prize = null;                        //奖项private String Certification_Time = null;           //认证日期private float Credit = 0;                           //活动学分//学生-活动实体类构造方法public Student_Activity(String student_ID,String activity_Name, String prize,String certification_Time,float credit) {Activity_Name = activity_Name;Student_ID = student_ID;Certification_Time = certification_Time;Credit = credit;Prize = prize;}//数据库插入语句生成方法public String Insert_SQL() {String str = "VALUES('"+Student_ID+"','"+Activity_Name+"',";if(this.Prize == null){str += "null";}else{str += "'"+Prize+"'";}str += ",'"+Certification_Time +"',"+String.valueOf(Credit)+")";System.out.println(str);return str;}//数据库查询语句生成方法public String Select_SQL() {String str = "WHERE Activity_Name = '"+ Activity_Name + "' and Student_ID = '" + Student_ID + "' and Certification_Time = '" + Certification_Time + "' and Credit = " + String.valueOf(Credit)+" AND Prize = "+"'"+this.Prize+"'";return str;}public String getActivity_Name() {return Activity_Name;}public String getStudent_ID() {return Student_ID;}public String getCertification_Time() {return Certification_Time;}public float getCredit() {return Credit;}public String getPrize() {return Prize;}public boolean equals(Student_Activity obj) {// TODO Auto-generated method stubboolean activity_name = this.Activity_Name.equals(obj.getActivity_Name());boolean student_id = this.Student_ID.equals(obj.getStudent_ID());boolean certification_time = this.Certification_Time.equals(obj.getCertification_Time());boolean credit = (this.Credit == obj.getCredit());boolean prize = this.Prize.equals(obj.getPrize());boolean flag = activity_name && student_id && certification_time && credit && prize;return flag;}
}

功能描述

1) Excel文件导入:可以将学生信息,活动信息,活动信息的Excel文件的数据导入到数据库中,但是一定要注意必须把Excel文件的格式转化为xls文件即2003版的Excel文件格式。因为所用到用来解析Excel文件的jar包即jxl现在不支持2010版本以上的Excel文件。对于学生信息数据需要按照姓名,学号,学院,班级格式进行填写。对于活动信息数据文件需要按照活动名称,主办方,学年学期的格式进行填写。对于学生活动信息数据文件需要按照学号,活动名称,认证日期,奖项,学分的格式进行填写。下面是该功能的截图。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
2) 按照起始认证时间查询学生活动信息:此功能是可以查询认证时间在起始认证时间之后(包含起始认证时间)的所有学生活动数据信息。下面是该功能的截图。
这里写图片描述
3) 按照终止认证时间查询学生活动信息:此功能是可以查询认证时间在终止认证时间之前(包含终止认证时间)的所有学生活动数据信息。下面是该功能的截图。
这里写图片描述
4) 按照起始认证时间与终止认证时间查询学生活动信息:此功能是可以查询在认证时间在起始认证时间与终止认证时间之间(包含起始认证时间与终止认证时间)的所有学生活动数据信息。下面是该功能的截图。
这里写图片描述
5) 按照活动主办方查询学生活动信息:可以查询活动由已选的活动主办方的主办的所有学生活动数据。下面是该功能的截图。
这里写图片描述
6) 按照姓名查询学生活动信息:可以查询活动学生名为XXX的所有学生活动信息数据(不推荐这么查询,最好用学号来查询,毕竟可能出现重名情况)。下面是该功能的截图。
这里写图片描述
7) 按照学号查询学生活动信息:可以查询活动学生学号为XXXXXXXX的所有学生活动信息数据。下面是该功能的截图。
这里写图片描述
8) 按照学分范围进行查询学生活动信息:可以查询活动学分大于等于x,或者小于等于y,或者大于等于x且小于等于y的说有学生活动信息数据。下面是该功能的截图。
这里写图片描述
9) 总分查询:可以以学生为类别,查询该学生的说有活动信息以及计算总社团活动学分。下面是该功能的截图。
这里写图片描述
10) 记录删除:可以把已经查询并在界面中显示的所有学生活动信息数据进行删除。下面是该功能的截图。
这里写图片描述
11) 获奖查询:可以查询某学会已经获奖活动的详细信息
这里写图片描述
12) Excel文件输出:可以把已经查询显示的学生活动记录以Excel文件形式进行输出到电脑桌面。下面是该功能的截图。
这里写图片描述

这篇关于社团活动学分管理系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/831373

相关文章

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、

STL经典案例(四)——实验室预约综合管理系统(项目涉及知识点很全面,内容有点多,耐心看完会有收获的!)

项目干货满满,内容有点过多,看起来可能会有点卡。系统提示读完超过俩小时,建议分多篇发布,我觉得分篇就不完整了,失去了这个项目的灵魂 一、需求分析 高校实验室预约管理系统包括三种不同身份:管理员、实验室教师、学生 管理员:给学生和实验室教师创建账号并分发 实验室教师:审核学生的预约申请 学生:申请使用实验室 高校实验室包括:超景深实验室(可容纳10人)、大数据实验室(可容纳20人)、物联网实验

使用Spring Boot集成Spring Data JPA和单例模式构建库存管理系统

引言 在企业级应用开发中,数据库操作是非常重要的一环。Spring Data JPA提供了一种简化的方式来进行数据库交互,它使得开发者无需编写复杂的JPA代码就可以完成常见的CRUD操作。此外,设计模式如单例模式可以帮助我们更好地管理和控制对象的创建过程,从而提高系统的性能和可维护性。本文将展示如何结合Spring Boot、Spring Data JPA以及单例模式来构建一个基本的库存管理系统

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。

基于SSM+Vue+MySQL的可视化高校公寓管理系统

系统展示 管理员界面 宿管界面 学生界面 系统背景   当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前,不接受信息改革带来的信息技术的企业随时面临被淘汰,被取代的风险。所以当今,各个行业领域,不管是传统的教育行业

图书管理系统系统分享

分享一个图书管理系统,Java、SpringBoot、Vue和MySQL开发的图书馆管理系统 gitee项目地址:https://gitee.com/yuanmomoya/open-source-project/tree/master/books-management-system GitHub项目地址:https://github.com/yuanmomoya/open-source-pro

基于springboot+vue+uniapp的“共享书角”图书借还管理系统小程序

开发语言:Java框架:springboot+uniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9 系统展示 后台登录界面 管理员功能界面 出借者管理 图书信息管理 图书归还管理 出租收入管理

2025届计算机毕业设计:如何构建Java SpringBoot+Vue个人健康档案管理系统?

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 | SpringBoot/SSM Python实战项目 | Django 微信小程序/安卓实战项目 大数据实战项目 ⚡⚡文末获取源码 文章目录

基于JSP的实验室管理系统

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:JSP技术 + Spring Boot框架 工具:IDEA/Eclipse、Navicat、Tomcat 系统展示 首页 用户个人中心 实验室管理 设备报备管理 摘要 随着社会的发展和科学技术的进步,互联网技术越来越受欢迎。网络计算机