JAVA+MYSQL可视化学生信息管理系统

news/2024/10/18 14:27:50/

     掌握数据库连接Java程序可视化界面的流程,有效编写Java可视化界面程序及其功能(增删改查),了解数据库内容编写和连接的流程。

     定义变量:Sno(String),Sname(String),_Class(String),Age(int),Sex(String)

public class HomeWork {private static PreparedStatement stmt=null;private static ResultSet rs= null;private static Connection conn = null;private static String Sno,Sname,_Class,Sex,sql;private static int Age;private static void createAndShowGUI() {JFrame f=new JFrame("菜单");f.setLayout(new GridLayout(6,1));f.setSize(400,300);f.setLocation(300,200);f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Button btn1=new Button("添加学生信息");Button btn2=new Button("修改学生信息");Button btn3=new Button("删除学生信息");Button btn4=new Button("按性别查找学生信息");Button btn5=new Button("按年龄查找学生信息");Button btn6=new Button("按班级查找学生信息");f.add(btn1);f.add(btn2);f.add(btn3);f.add(btn4);f.add(btn5);f.add(btn6);JPanel panel1=new JPanel(new GridLayout(6,2));JLabel lab11=new JLabel("请输入学号:");JLabel lab12=new JLabel("请输入姓名:");JLabel lab13=new JLabel("请输入班级:");JLabel lab14=new JLabel("请输入年龄:");JLabel lab15=new JLabel("请输入性别:");JTextField input11=new JTextField(10);JTextField input12=new JTextField(10);JTextField input13=new JTextField(10);JTextField input14=new JTextField(10);JTextField input15=new JTextField(10);Button btn11=new Button("提交");panel1.add(lab11);    panel1.add(input11);panel1.add(lab12);    panel1.add(input12);panel1.add(lab13);    panel1.add(input13);panel1.add(lab14);    panel1.add(input14);panel1.add(lab15);    panel1.add(input15);panel1.add(btn11);JPanel panel2=new JPanel(new GridLayout(6,2));JLabel lab21=new JLabel("请输入学号:");JLabel lab22=new JLabel("请输入姓名:");JLabel lab23=new JLabel("请输入班级:");JLabel lab24=new JLabel("请输入年龄:");JLabel lab25=new JLabel("请输入性别:");JTextField input21=new JTextField(10);JTextField input22=new JTextField(10);JTextField input23=new JTextField(10);JTextField input24=new JTextField(10);JTextField input25=new JTextField(10);Button btn21=new Button("提交");panel2.add(lab21);    panel2.add(input21);panel2.add(lab22);    panel2.add(input22);panel2.add(lab23);    panel2.add(input23);panel2.add(lab24);    panel2.add(input24);panel2.add(lab25);    panel2.add(input25);panel2.add(btn21);JPanel panel3=new JPanel(new GridLayout(2,2));JLabel lab31=new JLabel("请输入学号:");JTextField input31=new JTextField(10);Button btn31=new Button("提交");panel3.add(lab31);    panel3.add(input31);panel3.add(btn31);JPanel panel4=new JPanel(new GridLayout(2,2));JLabel lab41=new JLabel("请输入性别:");JTextField input41=new JTextField(10);Button btn41=new Button("提交");panel4.add(lab41);    panel4.add(input41);panel4.add(btn41);JPanel panel5=new JPanel(new GridLayout(3,2));JLabel lab51=new JLabel("请输入年龄上限:");JLabel lab52=new JLabel("请输入年龄下限:");JTextField input51=new JTextField(10);JTextField input52=new JTextField(10);Button btn51=new Button("提交");panel5.add(lab51);    panel5.add(input51);panel5.add(lab52);    panel5.add(input52);panel5.add(btn51);JPanel panel6=new JPanel(new GridLayout(2,2));JLabel lab61=new JLabel("请输入班级:");JTextField input61=new JTextField(10);Button btn61=new Button("提交");panel6.add(lab61);    panel6.add(input61);panel6.add(btn61);//为f窗体的6个按钮创建窗体,并将面板添加到窗体中JFrame f1=new JFrame("添加学生信息");f1.setLayout(new FlowLayout());f1.setSize(300,200);f1.setLocation(300,200);f1.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); //只关闭子窗口JFrame f2=new JFrame("修改学生信息");f2.setLayout(new FlowLayout());f2.setSize(300,200);f2.setLocation(300,200);f2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);JFrame f3=new JFrame("删除学生信息");f3.setLayout(new FlowLayout());f3.setSize(300,200);f3.setLocation(300,200);f3.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);JFrame f4=new JFrame("按性别查找学生信息");f4.setLayout(new FlowLayout());f4.setSize(300,200);f4.setLocation(300,200);f4.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);JFrame f5=new JFrame("按年龄查找学生信息");f5.setLayout(new FlowLayout());f5.setSize(300,200);f5.setLocation(300,200);f5.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);JFrame f6=new JFrame("按班级查找学生信息");f6.setLayout(new FlowLayout());f6.setSize(300,200);f6.setLocation(300,200);f6.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);f1.add(panel1); f2.add(panel2); f3.add(panel3);f4.add(panel4); f5.add(panel5); f6.add(panel6);JTextArea showArea1=new JTextArea(30,35);JTextArea showArea2=new JTextArea(30,35);JTextArea showArea3=new JTextArea(30,35);JScrollPane scrollPane1=new JScrollPane(showArea1);JScrollPane scrollPane2=new JScrollPane(showArea2);JScrollPane scrollPane3=new JScrollPane(showArea3);showArea1.setEditable(false);showArea2.setEditable(false);showArea3.setEditable(false);JFrame f41=new JFrame("查询结果");f41.setLayout(new FlowLayout());f41.setSize(400,200);f41.setLocation(300,200);f41.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);JFrame f51=new JFrame("查询结果");f51.setLayout(new FlowLayout());f51.setSize(400,200);f51.setLocation(300,200);f51.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);JFrame f61=new JFrame("查询结果");f61.setLayout(new FlowLayout());f61.setSize(400,200);f61.setLocation(300,200);f61.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);f41.add(scrollPane1); f51.add(scrollPane2); f61.add(scrollPane3);JDialog dialog1=new JDialog(f1,"添加结果");dialog1.setSize(220, 150); dialog1.setLocation(350, 250);dialog1.setLayout(new FlowLayout());    JLabel lab111=new JLabel("添加成功!");dialog1.add(lab111);JDialog dialog2=new JDialog(f2,"修改结果");dialog2.setSize(220, 150);dialog2.setLocation(350, 250);dialog2.setLayout(new FlowLayout());JLabel lab222=new JLabel("修改成功!");dialog2.add(lab222);JDialog dialog3=new JDialog(f3,"删除结果");dialog3.setSize(220, 150);dialog3.setLocation(350, 250);dialog3.setLayout(new FlowLayout());JLabel lab333=new JLabel("删除成功!");dialog3.add(lab333);btn1.addActionListener(e->{f1.setVisible(true);});btn11.addActionListener(e->{PreparedStatement stmt=null;try {Connection conn=HomeWork.Mysql_conn();Sno=input11.getText();Sname=input12.getText();_Class=input13.getText();Age=Integer.parseInt(input14.getText());Sex=input15.getText();sql="insert into java values(?,?,?,?,?)";stmt=conn.prepareStatement(sql);stmt.setString(1, Sno);stmt.setString(2, Sname);stmt.setString(3, _Class);stmt.setInt(4, Age);stmt.setString(5, Sex);stmt.executeUpdate();} catch (SQLException e1) {e1.printStackTrace();}dialog1.setVisible(true);});btn2.addActionListener(e->{f2.setVisible(true);});btn21.addActionListener(e->{PreparedStatement stmt=null;try {Connection conn=HomeWork.Mysql_conn();sql="update java set Sname=?,_Class=?,Age=?,Sex=? where Sno=?";stmt=conn.prepareStatement(sql);Sno=input21.getText();stmt=conn.prepareStatement(sql);Sname=input22.getText();_Class=input23.getText();Age=Integer.parseInt(input24.getText());Sex=input25.getText();stmt.setString(1, Sname);stmt.setString(2, _Class);stmt.setInt(3, Age);stmt.setString(4, Sex);stmt.setString(5, Sno);stmt.executeUpdate();} catch (SQLException e1) {e1.printStackTrace();}dialog2.setVisible(true);});btn3.addActionListener(e->{f3.setVisible(true);});btn31.addActionListener(e->{PreparedStatement stmt=null;try {Connection conn=HomeWork.Mysql_conn();sql="delete from java where Sno=?";stmt=conn.prepareStatement(sql);Sno=input31.getText();stmt=conn.prepareStatement(sql);stmt.setString(1, Sno);stmt.executeUpdate();} catch (SQLException e1) {e1.printStackTrace();}dialog3.setVisible(true);});btn4.addActionListener(e->{f4.setVisible(true);});btn41.addActionListener(e->{PreparedStatement stmt=null;ResultSet rs= null;try {Connection conn=HomeWork.Mysql_conn();Sex=input41.getText();sql="select * from java where Sex=?";stmt=conn.prepareStatement(sql);stmt.setString(1, Sex);rs = stmt.executeQuery();showArea1.append("    学号     姓名     班级    年龄    性别 "+"\n");while(rs.next()){showArea1.append(rs.getString("Sno")+" | "+rs.getString("Sname")+" | "+rs.getString("_Class")+" | "+rs.getInt("Age")+" | "+rs.getString("Sex"));showArea1.append("\n");}f41.setVisible(true);scrollPane1.setVisible(true);} catch (SQLException e1) {e1.printStackTrace();}});btn5.addActionListener(e->{f5.setVisible(true);});btn51.addActionListener(e->{PreparedStatement stmt=null;ResultSet rs= null;try {Connection conn=HomeWork.Mysql_conn();int max=Integer.parseInt(input51.getText());int min=Integer.parseInt(input52.getText());sql="select * from java where Age between ? and ?";stmt=conn.prepareStatement(sql);stmt.setInt(1, min);stmt.setInt(2, max);rs = stmt.executeQuery();showArea2.append("    学号     姓名     班级    年龄    性别 "+"\n");while(rs.next()){showArea2.append(rs.getString("Sno")+" | "+rs.getString("Sname")+" | "+rs.getString("_Class")+" | "+rs.getInt("Age")+" | "+rs.getString("Sex"));showArea2.append("\n");}f51.setVisible(true);scrollPane2.setVisible(true);} catch (SQLException e1) {e1.printStackTrace();}});btn6.addActionListener(e->{f6.setVisible(true);});btn61.addActionListener(e->{PreparedStatement stmt=null;ResultSet rs= null;try {Connection conn=HomeWork.Mysql_conn();String pro=input61.getText();pro=pro+"%";sql="select * from java where _Class like ? ";stmt=conn.prepareStatement(sql);stmt.setString(1, pro);rs = stmt.executeQuery();showArea3.append("    学号     姓名     班级    年龄    性别 "+"\n");while(rs.next()){showArea3.append(rs.getString("Sno")+" | "+rs.getString("Sname")+" | "+rs.getString("_Class")+" | "+rs.getInt("Age")+" | "+rs.getString("Sex"));showArea3.append("\n");}f61.setVisible(true);scrollPane3.setVisible(true);} catch (SQLException e1) {e1.printStackTrace();}});
}
public static Connection Mysql_conn() throws SQLException{PreparedStatement stmt=null;ResultSet rs= null;Connection conn = null;String url = "jdbc:mysql://localhost:3306/mysqljava?characterEncoding=utf8";String username = "root";String password = "2091921381";conn = DriverManager.getConnection(url, username, password);return conn;}public static void main(String[] args){try {Class.forName("com.mysql.cj.jdbc.Driver");SwingUtilities.invokeLater(HomeWork::createAndShowGUI);} catch (ClassNotFoundException e) {e.printStackTrace();} finally {if(rs!=null) {try {stmt.close();}catch(SQLException e) {e.printStackTrace();}rs=null;}if(stmt!=null) {try {stmt.close();}catch(SQLException e) {e.printStackTrace();}stmt=null;}if(conn!=null) {try {conn.close();}catch(SQLException e) {e.printStackTrace();}conn=null;}}}
}

    Java连接数据库应用包:  

 

Java连接数据库的DB Browser的connection:

 

 


http://www.ppmy.cn/news/794239.html

相关文章

股票买卖明细接口是怎样实现查询交易数据的?

股票买卖明细接口作为软件应用而言,很多资源和数据不一定就是由其自身提供的,所以说某些功能还是需要调用第三方提供的服务,这其中就涉及到API接口的调用。也就是说,股票买卖明细接口是与数据端直接挂钩的,通过一些量化…

l2数据接口如何获取股票实时行情数据?

l2数据接口在股票交易中常常需要挖掘股票数据,可以是l1和l2接口来执行获取股票实时行情数据的原理,将自己需要查询的需求就可以数据接口上搜索就可以很快的获取数据了。那么,在获取的过程中,是需要基于开发员将股票数据接口介入开…

股市量化交易接口如何获取A股历史数据?

股市量化交易接口其实也是对散户开放等是比较安全稳定接口,但是其接口通过第三方券商完成交易,主要用做于个人或机构做私募等量化投资数据参考的首选,比如说在股市中进行量化投资时,通过接口策略的定制将股票数据快速筛选&#xf…

Redis 删除 key用 del 和 unlink 有啥区别?

问题 del 和 unlink 有啥区别啊?为什么String类型删除不会做异步删除? 彬彬回答 DEL 和 UNLINK 都是同步的释放 key 对象,区别是怎么释放后面的 value 对象 DEL 每次都是同步释放 value 部分,如果 value 很大,例如一…

量化股票交易接口如何一键执行委托下单?

大家都知道,我们平时在进行股票交易时候,只需要在手机或者电脑上打开量化股票交易接口系统一键点买入和卖出,就简单的完成了对应的股票就在二级市场的股票交易。当然了,我们在完成这笔交易都是需要有对应的程序来处理,…

ctp交易接口股票怎么查询历史数据?

针对于ctp交易接口股票历史数据的查询,其基本原理就是利用api接口开发子系统最终就是开发完成并暴露一个标准的HTTPAPI接口,并将接口注册和接入到API网关。API设计和开发的核心思想仍然应该是基于领域对象建模驱动,通过领域对象建模很好的实现…

f5故障排除

1.硬件问题 1)硬盘:查看/var/log/daemon, kern日志,smartctl测试,EUD 2)PSU: 查看LCD报警,/var/log/ltm,EUD等 3)内存:可能导致设备突然重启或无法启动,查看c…

东方财富股票交易接口数据怎么执行出来?

东方财富股票交易接口数据常见输出类型数据程序如下: import requests import time import json import pandas as pd def fenshishuju_dfcf(daima): if daima[:2] "sh": lsbl 1.daima[2:] else: lsbl 0. daima[2:] …