GUI+Mysql 仿照水果超市实现学生管理系统!

 **当我们学习完到GUI界面和JDBC的时候,就可以实现一些简单的小程序的。

下面是一个仿照水果超市实现学生管理系统的介绍,由一个主类实现。**
首先,他的具体功能。
界面中包含有表格(用于显示全部学生信息)、文本输入框(输入学号、姓名等内容)、单选按钮(性别)、下拉列表框(可选专业、年级等内容)、对话框和相关功能按钮:
(1)程序开始运行时,除表格有内容(内容从数据库中读取),界面上的【添加】按钮生效,【修改】和【删除】按钮失效,其余控件(如文本框或单选按钮等)内容为空。
(2)当在文本框等控件输入信息后,按下【添加】按钮,判断所填信息是否完整,如是则将所填内容添加到数据库中,并更新表格内容。
(3)当双击表格中的任何一条记录时,该条记录的各项内容在表格下方对应的控件显示,此时【添加】按钮失效,【修改】和【删除】按钮生效。
(4)当按下【修改】按钮时,该条学生记录的信息进行更改,表格中的内容刷新,数据库中该条记录被修改,同时弹出“记录修改成功!”的提示对话框。
(5)当按下【删除】按钮时,则将该条学生记录的信息删除,表格中的内容更新,数据库中该条记录被删除,同时弹出“记录删除成功!”的提示对话框。
(6)有菜单栏实现,按使表格信息按不同关键字进行排序。
如下图

**废话不多说,下面是主界面代码。**
import java.awt.Font;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.ListSelectionModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import java.awt.event.*;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Vector;public class StudentFrame extends JFrame {private static final long serialVersionUID = 1L;private static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";private static final String DB_URL = "jdbc:mysql://localhost:3306/"数据库名"?serverTimezone=GMT&&useSSL=false";private static final String USER = "";//用户名private static final String PASS = "";//密码private String MIDItem = "";private String sqlE="select *from TStudent order by stuid;";private String sql="SELECT *FROM tstudent";private String sqlA = "insert into tstudent(stuid,stuname,stusex,stugrade,stuclass,stupro)values(?,?,?,?,?,?)";String sqlD = "DELETE FROM tstudent WHERE stuid='";private Connection conn = null;private ResultSet res = null;private Statement stat = null;private PreparedStatement ps = null;private JLabel tableLabel = new JLabel("学生列表");// 标签private JScrollPane tablePane = new JScrollPane();private TableModel datastu1;private JTable table = new JTable(datastu1) { // 表格可选中,不可改private static final long serialVersionUID = 1L;public boolean isCellEditable(int rowIndex, int ColIndex) {return false;}};// 提示标签private JLabel stuid = new JLabel("学号");private JLabel stuname = new JLabel("姓名");private JLabel stusex = new JLabel("性别");private JLabel stugrade = new JLabel("年级");private JLabel stuclass = new JLabel("班级");private JLabel stupro = new JLabel("专业");// 文本框private JTextField AddID = new JTextField(10);private JTextField Addname = new JTextField(6);private JTextField ChangeID = new JTextField(10);private JTextField Changename = new JTextField(6);private JTextField DeleteID = new JTextField(10);// 单选框private JPanel jpanel1 = new JPanel();private JPanel jpanel2 = new JPanel();private JRadioButton man1 = new JRadioButton("男");private JRadioButton women1 = new JRadioButton("女");private JRadioButton man2 = new JRadioButton("男");private JRadioButton women2 = new JRadioButton("女");private ButtonGroup Addsex = new ButtonGroup();private ButtonGroup Changesex = new ButtonGroup();// 组合框private JComboBox<String> Addgrade = new JComboBox<String>();private JComboBox<String> Addclass = new JComboBox<String>();private JComboBox<String> Addpro = new JComboBox<String>();private JComboBox<String> Changegrade = new JComboBox<String>();private JComboBox<String> Changeclass = new JComboBox<String>();private JComboBox<String> Changepro = new JComboBox<String>();// 按钮private JButton Add = new JButton("增加");private JButton Change = new JButton("修改");private JButton Delete = new JButton("删除");//菜单JMenuBar mainMenu = new JMenuBar();//创建菜单栏对象JMenu RefreshMenu = new JMenu("刷新");// 创建菜单对象JMenu HelpMenu = new JMenu("帮助");JMenu ExitMenu = new JMenu("退出");JMenuItem SortID=new JMenuItem("按学号");//创建子菜单对象JMenuItem SortName=new JMenuItem("按名字");JMenuItem SortSex=new JMenuItem("按性别");JMenuItem SortGrade=new JMenuItem("按年级");JMenuItem SortClass=new JMenuItem("按班级");JMenuItem SortPro=new JMenuItem("按专业");JMenuItem help=new JMenuItem("help");JMenuItem About=new JMenuItem("关于");public StudentFrame() {super();this.init();this.addComponent();this.addListener();this.setJMenuBar(mainMenu);//加载this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);queryStuItem();}private void init() {this.setTitle("学生管理页面");this.setSize(600, 450);GUITools.center(this);this.setResizable(false);}// 组件加载private void addComponent() {/** 菜单* */mainMenu.add(RefreshMenu);mainMenu.add(HelpMenu);mainMenu.add(ExitMenu);RefreshMenu.add(SortID);RefreshMenu.add(SortName);RefreshMenu.add(SortSex);RefreshMenu.add(SortGrade);RefreshMenu.add(SortClass);RefreshMenu.add(SortPro);HelpMenu.add(help);HelpMenu.add(About);/** 表格处理*/this.setLayout(null);tableLabel.setBounds(265, 0, 70, 40);this.add(tableLabel);table.getTableHeader().setReorderingAllowed(false);// 列不能移动table.getTableHeader().setResizingAllowed(false);// 行不能移动// table.setEnabled(false);// 不可更改数据tablePane.setBounds(30, 30, 530, 220);tablePane.setViewportView(table);// 视口装入表格this.add(tablePane);/** 标签提示*/stuid.setBounds(20, 250, 70, 25);stuname.setBounds(100, 250, 70, 25);stusex.setBounds(180, 250, 70, 25);stugrade.setBounds(260, 250, 70, 25);stuclass.setBounds(340, 250, 70, 25);stupro.setBounds(420, 250, 70, 25);this.add(stuid);this.add(stuname);this.add(stusex);this.add(stugrade);this.add(stuclass);this.add(stupro);/** 文本框*/AddID.setBounds(10, 280, 60, 20);Addname.setBounds(85, 280, 60, 20);ChangeID.setBounds(10, 315, 60, 20);Changename.setBounds(85, 315, 60, 20);DeleteID.setBounds(10, 350, 60, 20);this.add(AddID);this.add(Addname);this.add(ChangeID);this.add(Changename);this.add(DeleteID);/** 单选框*/jpanel1.add(man1);jpanel1.add(women1);Addsex.add(man1);Addsex.add(women1);jpanel1.setBounds(155, 270, 90, 30);this.add(jpanel1);jpanel2.add(man2);jpanel2.add(women2);Changesex.add(man2);Changesex.add(women2);jpanel2.setBounds(155, 305, 90, 30);this.add(jpanel2);/** 组合框*/Addgrade.setBounds(250, 280, 60, 20);Addgrade.addItem("年级");Addgrade.addItem("2020");Addgrade.addItem("2021");Addclass.setBounds(320, 280, 60, 20);Addclass.addItem("班级");Addclass.addItem("1");Addclass.addItem("2");Addclass.addItem("3");Addclass.addItem("4");Addpro.setBounds(390, 280, 70, 20);Addpro.addItem("专业");Addpro.addItem("物联网");Addpro.addItem("计算机科学");Addpro.addItem("大数据分析");Addpro.addItem("信息科学");this.add(Addgrade);this.add(Addclass);this.add(Addpro);Changegrade.setBounds(250, 315, 60, 20);Changegrade.addItem("年级");Changegrade.addItem("2020");Changegrade.addItem("2021");Changeclass.setBounds(320, 315, 60, 20);Changeclass.addItem("班级");Changeclass.addItem("1");Changeclass.addItem("2");Changeclass.addItem("3");Changeclass.addItem("4");Changepro.setBounds(390, 315, 70, 20);Changepro.addItem("专业");Changepro.addItem("物联网");Changepro.addItem("计算机科学");Changepro.addItem("大数据分析");Changepro.addItem("信息科学");this.add(Changegrade);this.add(Changeclass);this.add(Changepro);/** 按钮增加*/Add.setBounds(480, 280, 60, 25);Add.setFont(new Font("Sans-Serif", Font.BOLD, 13));Change.setBounds(480, 315, 60, 25);Change.setFont(new Font("Sans-Serif", Font.BOLD, 13));Delete.setBounds(480, 350, 60, 25);Delete.setFont(new Font("Sans-Serif", Font.BOLD, 13));this.add(Add);this.add(Change);this.add(Delete);}// 监听器实现private void addListener() {Add.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根System.out.println("add...........");AddStuItem();}});Change.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根System.out.println("change...........");ChangeStuItem();}});Delete.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根System.out.println("delete...........");DeleStuItem();}});table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // 单选table.addMouseListener(new MouseAdapter() { // 鼠标事件public void mouseClicked(MouseEvent e) {int selectedRow = table.getSelectedRow(); // 获得选中行索引Object oa = datastu1.getValueAt(selectedRow, 0);Object ob = datastu1.getValueAt(selectedRow, 1);Object oc = datastu1.getValueAt(selectedRow, 2);Object od = datastu1.getValueAt(selectedRow, 3);Object oe = datastu1.getValueAt(selectedRow, 4);Object of = datastu1.getValueAt(selectedRow, 5);MIDItem = (String) oa;               //鼠标事件获取到的内容加载到组件ChangeID.setText(MIDItem);DeleteID.setText(MIDItem);String MnameItem = (String) ob;Changename.setText(MnameItem);if (oc.equals("男")) {man2.setSelected(true);} else {women2.setSelected(true);}Changegrade.setSelectedItem(od);Changeclass.setSelectedItem(oe);Changepro.setSelectedItem(of);System.out.println(oa);System.out.println(ob);System.out.println(oc);System.out.println(od);System.out.println(oe);System.out.println(of);Add.setEnabled(false);               //add按钮不可用,chang,delete可以用Change.setEnabled(true);Delete.setEnabled(true);}});SortID.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根sqlE=sql+" order by stuid;";queryStuItem();}});SortName.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根sqlE=sql+" order by stuname;";queryStuItem();}});SortSex.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根sqlE=sql+" order by stusex;";queryStuItem();}});SortGrade.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根sqlE=sql+" order by stugrade;";queryStuItem();}});SortClass.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根sqlE=sql+" order by stuclass;";queryStuItem();}});SortPro.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根sqlE=sql+" order by stupro;";queryStuItem();}});help.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根try {Runtime.getRuntime().exec("explorer https://blog.csdn.net/guyexing");} catch (IOException e1) {// TODO 自动生成的 catch 块e1.printStackTrace();}System.out.println("help");}});About.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO 自动生成的方法存根JOptionPane.showMessageDialog(null,"Java学生管理器 计算机1班202041417104","关于管理器",1);System.out.println("About");}});ExitMenu.addMouseListener(new MouseAdapter() {public void mouseClicked(MouseEvent e) {System.exit(0);}});}public void AddStuItem() {String AddIDItem = AddID.getText();System.out.println(AddIDItem);String AddnameItem = Addname.getText();System.out.println(AddnameItem);String AddsexItem = "";// 获取选择的单选框文本if (man1.isSelected()) {AddsexItem = "男";} else if (women1.isSelected()) {AddsexItem = "女";}System.out.println(AddsexItem);String AddgradeItem = (String) Addgrade.getSelectedItem();System.out.println(AddgradeItem);String AddclassItem = (String) Addclass.getSelectedItem();System.out.println(AddclassItem);String AddproItem = (String) Addpro.getSelectedItem();System.out.println(AddproItem);if (AddIDItem.equals("") || AddnameItem.equals("") || (!AddsexItem.equals("男") && !AddsexItem.equals("女"))|| AddgradeItem.equals("年级") || AddclassItem.equals("班级") || AddproItem.equals("专业")) {JOptionPane.showMessageDialog(null, "信息不完整请重新填写", "错误", 0);// 错误弹窗} else {try {Class.forName(JDBC_DRIVER);System.out.println("连接数据库.....");boolean falg = true;conn = DriverManager.getConnection(DB_URL, USER, PASS);stat = conn.createStatement();res = stat.executeQuery(sql);System.out.println("MYSQL连接成功");try {while(res.next()) {if(res.getString(1).equals(AddIDItem)) {falg = false;break;}}}catch(Exception e) {e.printStackTrace();JOptionPane.showMessageDialog(null, "数据库关闭失败", "错误", 0);// 弹窗}if (falg) {ps = conn.prepareStatement(sqlA);ps.setString(1, AddIDItem);ps.setString(2, AddnameItem);ps.setString(3, AddsexItem);ps.setString(4, AddgradeItem);ps.setString(5, AddclassItem);ps.setString(6, AddproItem);ps.executeUpdate();queryStuItem();// 刷新System.out.println("数据插入成功");JOptionPane.showMessageDialog(null, "数据插入成功", "正确", 1);// 弹窗try {ps.close();conn.close();System.out.println("成功关闭");} catch (Exception o) {o.printStackTrace();System.out.println("关闭失败");JOptionPane.showMessageDialog(null, "数据库关闭失败", "错误", 0);// 弹窗}} else {JOptionPane.showMessageDialog(null, "学号已存在", "错误", 0);// 弹窗}} catch (Exception e) {// TODO 自动生成的 catch 块e.printStackTrace();System.out.println("数据库连接失败");JOptionPane.showMessageDialog(null, "数据库连接失败", "错误", 0);// 弹窗}}clearT();}public void ChangeStuItem() {String ChangeIDItem = ChangeID.getText();System.out.println(ChangeIDItem);String ChangenameItem = Changename.getText();System.out.println(ChangenameItem);String ChangesexItem = "";if (man2.isSelected()) {ChangesexItem = "男";} else if (women2.isSelected()) {ChangesexItem = "女";}System.out.println(ChangesexItem);// 输出选择的单选框文本String ChangegradeItem = (String) Changegrade.getSelectedItem();System.out.println(ChangegradeItem);String ChangeclassItem = (String) Changeclass.getSelectedItem();System.out.println(ChangeclassItem);String ChangeproItem = (String) Changepro.getSelectedItem();System.out.println(ChangeproItem);queryStuItem();// 刷新if (ChangeIDItem.equals("") || ChangenameItem.equals("")|| (!ChangesexItem.equals("男") && !ChangesexItem.equals("女")) || ChangegradeItem.equals("年级")|| ChangeclassItem.equals("班级") || ChangeproItem.equals("专业")) {JOptionPane.showMessageDialog(null, "信息不完整请重新填写", "错误", 0);// 错误弹窗} else {try {Class.forName(JDBC_DRIVER);System.out.println("连接数据库....");conn = DriverManager.getConnection(DB_URL, USER, PASS);stat = conn.createStatement();res = stat.executeQuery(sql);System.out.println("MYSQL连接成功");while (res.next()) {if (res.getString(1).equals(MIDItem)) {try {String sqld = sqlD + MIDItem + "'";stat = conn.createStatement();stat.executeUpdate(sqld);System.out.println("数据删除成功");ps = conn.prepareStatement(sqlA);ps.setString(1, ChangeIDItem);ps.setString(2, ChangenameItem);ps.setString(3, ChangesexItem);ps.setString(4, ChangegradeItem);ps.setString(5, ChangeclassItem);ps.setString(6, ChangeproItem);ps.executeUpdate();System.out.println("数据修改成功");queryStuItem(); // 更新JOptionPane.showMessageDialog(null, "数据修改成功", "正确", 1);// 弹窗} catch (Exception g) {// TODO Auto-generated catch blockg.printStackTrace();System.out.println("数据修改失败");JOptionPane.showMessageDialog(null, "数据修改失败", "错误", 0);// 弹窗}try {stat.close();conn.close();System.out.println("成功关闭");} catch (Exception h) {h.printStackTrace();System.out.println("关闭失败");JOptionPane.showMessageDialog(null, "数据库关闭失败", "错误", 0);// 弹窗}break;}}} catch (Exception e) {// TODO 自动生成的 catch 块e.printStackTrace();JOptionPane.showMessageDialog(null, "数据库连接失败", "错误", 0);// 弹窗}}// 内容重置clearT();}public void DeleStuItem() {String DeleteIDItem = DeleteID.getText();System.out.println(DeleteIDItem);queryStuItem();// 刷新if (DeleteIDItem.equals("")) {JOptionPane.showMessageDialog(null, "信息不完整请重新填写", "错误", 0);// 错误弹窗} else {boolean falg = true;try {Class.forName(JDBC_DRIVER);System.out.println("连接数据库....");conn = DriverManager.getConnection(DB_URL, USER, PASS);stat = conn.createStatement();res = stat.executeQuery(sql);System.out.println("MYSQL连接成功");while (res.next()) {// changeif (res.getString(1).equals(DeleteIDItem)) {try {String sqld = sqlD+ DeleteIDItem + "'";stat = conn.createStatement();stat.executeUpdate(sqld);falg = false;System.out.println("数据删除成功");queryStuItem();// 刷新JOptionPane.showMessageDialog(null, "数据删除成功", "正确", 1);// 弹窗} catch (Exception g) {// TODO Auto-generated catch blockg.printStackTrace();System.out.println("数据删除失败");JOptionPane.showMessageDialog(null, "数据删除失败", "错误", 0);// 弹窗}try {stat.close();conn.close();System.out.println("成功关闭");} catch (Exception h) {h.printStackTrace();System.out.println("关闭失败");JOptionPane.showMessageDialog(null, "数据库关闭失败", "错误", 0);// 弹窗}break;}}if (falg) {System.out.println("数据删除失败");JOptionPane.showMessageDialog(null, "数据删除失败", "错误", 0);}} catch (Exception e) {// TODO 自动生成的 catch 块e.printStackTrace();JOptionPane.showMessageDialog(null, "数据库连接失败", "错误", 0);}}clearT();}public void queryStuItem() {// TODO Auto-generated method stubVector<String> TableName = new Vector<String>();Vector<Vector<String>> TableData = new Vector<Vector<String>>();TableName.add("学号");TableName.add("姓名");TableName.add("性别");TableName.add("年级");TableName.add("班级");TableName.add("专业");Add.setEnabled(true);Change.setEnabled(false);Delete.setEnabled(false);try {Class.forName(JDBC_DRIVER);conn = DriverManager.getConnection(DB_URL, USER, PASS);ps = conn.prepareStatement(sqlE);res = ps.executeQuery();while (res.next()) {Vector<String> hang = new Vector<String>();hang.add(res.getString(1));hang.add(res.getString(2));hang.add(res.getString(3));hang.add(res.getString(4));hang.add(res.getString(5));hang.add(res.getString(6));TableData.add(hang);}System.out.println("成功载入");} catch (Exception q) {q.printStackTrace();System.out.println("载入失败");JOptionPane.showMessageDialog(null, "数据库连接失败", "错误", 0);} finally {try {res.close();ps.close();conn.close();System.out.println("成功关闭");} catch (Exception o) {o.printStackTrace();System.out.println("关闭失败");JOptionPane.showMessageDialog(null, "数据库关闭失败", "错误", 0);}}datastu1 = new DefaultTableModel(TableData, TableName);table.setModel(datastu1);}public void clearT() {//信息重置方法AddID.setText("");Addname.setText("");Addsex.clearSelection();Addgrade.setSelectedIndex(0);Addclass.setSelectedIndex(0);Addpro.setSelectedIndex(0);ChangeID.setText("");Changename.setText("");Changesex.clearSelection();Changegrade.setSelectedIndex(0);Changeclass.setSelectedIndex(0);Changepro.setSelectedIndex(0);DeleteID.setText("");}
}

下面是一个工具类,其中静态方法center()是实现功能是主页面可以适应屏幕居中,个人感觉没啥用但是书本水果超市有这样一个方法就顺便实现了,不想用的可以把上面代码中的init()方法中的GUITools.center(this);删掉,就不用实现这个工具类。

import java.awt.Toolkit;import javax.swing.JFrame;import java.awt.Component;
public class GUITools {static   Toolkit kit=Toolkit.getDefaultToolkit();public static void center(Component c) {int x=(kit.getScreenSize().width-c.getWidth())/2;int y=(kit.getScreenSize().height-c.getHeight())/2;c.setLocation(x, y);}public static void setTitleImage(JFrame frame,String titleIconPath) {frame.setIconImage(kit.createImage(titleIconPath));}
}

当然这样程序也不能运行起来。你的数据库要有这样一个叫tstudent的表,而且用以下相同表头。嫌麻烦你也可以把主页面代码中的数据库命令代码修改一下。

下面是测试类。

public class text {public static void main(String[] args) {new StudentFrame();}}

最后,觉得不错收藏点赞吧。

GUI+Mysql 仿照水果超市实现简易学生管理系统相关推荐

  1. 制作基于springboot的简易学生管理系统(详细)

    制作基于springboot的简易学生管理系统(详细) 基于书本与百度创作,内容简易,请多多指教( ̄▽ ̄)/ 设计一个简易学生管理系统 所需环境 创建一个springboot项目 设计数据库 配置Gr ...

  2. Java09-day09【ArrayList(概述、构造方法、常用方法、遍历)、简易学生管理系统】

    java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] &qu ...

  3. C#简易学生管理系统

    添加3个类,分别实现 IComparer接口,实现对Student类的三个字段的排序. 1.学生类:学号.姓名.年龄 2.请选择:1.添加学生信息.2.删除学生信息 2.查询学生信息. 3.重复的学号 ...

  4. jquery mysql jsp_jsp+jquery+mysql实现的一个简单的学生管理系统

    1 2 3 4 5 6 pageEncoding="utf-8"%> 7 8 9 10 学生管理系统 11 12 href="https://stackpath.b ...

  5. 基于JAVA+Swing+MYSQL的水果超市管理系统

    项目功能: 销售员端: 登录注册 销售系统 个人信息 留言系统 退出系统 管理员端: 注册审核 货物管理 员工信息 留言管理 销售统计 退出系统 页面效果:

  6. c语言实现简易学生管理系统

    1.内容用到结构体,链表,函数,文件操作 2.该代码实现了增删改查,不过缺点,没有进行链表的内存释放会造成内存泄漏,写还是挺简单的,不过懒得写了 直接上代码自己感悟: 代码: #include< ...

  7. Oracle PL/SQL 实现简易学生管理系统

    写在前面 写着练手的,若有错,欢迎大家指正! 开始之前准备 数据库:oracle 工具:Oracle SQL Developer(cmd也可操作,大家随意) 1.设计目标 1. 用户注册:注册时检查名 ...

  8. 学习项目-plsql实现简易学生管理系统

    要求: 使用plsql完成一个简单的系统设计开发. 详细信息: 学生表:学号.姓名.年龄.性别.年级.入学日期. 教师表:教师号.姓名.年龄. 选课表:学号.课程号.课程名.教师号.课程学分. 成绩表 ...

  9. 基于JAVA+SpringBoot+Mybatis+MYSQL的中小型超市进销存管理系统

    项目功能: 1 .商品信息:商品信息包含商品名称.商品编号.生产日期.保质期.进货规格.销售单 位.销售价格构成.由采购员定义添加商品信息.(针对例如像大米这样的商品,同种大米 采用同时销售熬羲聂袋装 ...

最新文章

  1. 优达学城《DeepLearning》项目1:预测每日自行车租赁客流量
  2. SpringBoot监听redis订阅监听和发布订阅
  3. 机器学习应用的未来是什么?微型化
  4. 六大Web负载均衡原理与实现
  5. iOS之深入解析单例的实现和销毁的底层原理
  6. 理解SpringMVC-------DispatchServlet
  7. UVALive 7455 Linear Ecosystem (高斯消元)
  8. lisp压盖_华为笔试题--LISP括号匹配 解析及源码实现
  9. php生成svg图片不显示,css svg不显示不出来怎么办
  10. 大数据分析目前面临哪些问题
  11. Hive 窗口函数lead、lag
  12. PHP环境配置遇到的问题与解决
  13. 关于md导入时本地图片外链失败的解决方法
  14. CHROME扩展开发文档之·chrome.runtime
  15. itextpdf加盖章
  16. ftp上传工具绿色版 不可不说的4款ftp上传工具绿色版
  17. cosface:large margin cosine loss for deep face recognition
  18. Java面向对象之创建和使用对象——定义学生/教师类并输出相关信息
  19. 什么叫死区时间_关于pwm死区时间的介绍
  20. 7-6 将一个大写英文字母转换为小写输出 (12分)

热门文章

  1. pyqt5笔记 — 重写窗口方法closeEvent()的两种方式
  2. 实操-微信小程序渲染html内容
  3. 高德地图 web api 使用
  4. C语言 如何给结构体中的数组赋值
  5. linux 根据pid查看占用端口,根据端口查看pid
  6. 图像中某一像素位置在不同场景下的索引方式
  7. ssh 启动失败,状态报:activing(start),timeout exceeding
  8. 《卫报》分阶儿童阅读好书单 5-7
  9. android one指纹解锁,三款小米新机正秘密研发:含Android One型号、均搭载屏幕指纹...
  10. Windows11 任务栏不显示应用程序图标