Java实现学生信息管理系统并与MySQL数据库进行交互

链接:https://pan.baidu.com/s/1cwgYkDhHl_fw5VCrvIEu6A 
提取码:verk

       本人是一名学生党,因作业需要,所以利用Java语言编写了一个学生信息管理系统,其中有很多不足的地方,希望各位大佬指点。

       本人是利用eclipse编写的这个管理系统,用eclipse编写需要导入一个外部JAR文件:

       

     jar文件导入步骤:

    1、在eclipse中右击项目,选择构建路径,点击“配置构建路径”:

    

2、进入如下界面,点击“添加外部JAR”:

之后找到jar文件的路径,添加进去后,点击应用并关闭即可。

因全部代码太多,所以 文章只解析一小部分(所有界面都是一个编程思路,所以只介绍一小部分),完整代码的链接在文章底部。

package 学生信息管理系统;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
//学生信息查询界面
public class MessageSearch extends JFrame implements ActionListener{
	//声明所需要的组件
	static MessageSearch ms;
	JPanel jp = new JPanel();
	JLabel sch = new JLabel("查询学生信息",JLabel.CENTER);
	JLabel pleaseInputNumber = new JLabel("请输入学号:",JLabel.CENTER);
	JButton search = new JButton("查询");
	JButton reset = new JButton("重置");
	JLabel Name = new JLabel("姓名:",JLabel.CENTER);
	JLabel Sex = new JLabel("性别:",JLabel.CENTER);
	JLabel Classs = new JLabel("班级:",JLabel.CENTER);
	JLabel Academy = new JLabel("学院:",JLabel.CENTER);
	ButtonGroup bgp = new ButtonGroup();
	JRadioButton man = new JRadioButton("男");
	JRadioButton woman = new JRadioButton("女");
	JTextField id = new JTextField();
	JTextField nm = new JTextField();
	JTextField cla = new JTextField();
	JTextField acad = new JTextField();
	//定义登录数据库所需要的url、user、password
	String url="jdbc:mysql://localhost:3306/test?characterEncoding=utf-8";
	String user = "你的用户名";
	String password = "你的密码";
	
	//利用构造函数定义并实现登录界面,定义各组件的大小并将其添加进界面中
	public MessageSearch() {
		//设置界面大小
		this.setSize(500, 400);
		//设置界面可见
		this.setVisible(true);
		//设置用户不可以调整界面大小
		this.setResizable(false);
		//设置界面关闭方式
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.add(jp);
		jp.setLayout(null);
		//为按钮添加点击事件
		search.addActionListener(this);
		reset.addActionListener(this);
		//定义大小
		sch.setBounds(100, 20, 300, 20);
		//添加进入界面中
		jp.add(sch);
		pleaseInputNumber.setBounds(100, 60, 100, 20);
		jp.add(pleaseInputNumber);
		id.setBounds(190, 60, 140, 20);
		jp.add(id);
		search.setBounds(120, 100, 90, 20);
		reset.setBounds(260, 100, 90, 20);
		jp.add(search);
		jp.add(reset);
		Name.setBounds(100, 140, 70, 20);
		jp.add(Name);
		nm.setBounds(190, 140, 140, 20);
		jp.add(nm);
		Sex.setBounds(100, 180, 70, 20);
		jp.add(Sex);
		man.setBounds(205, 180, 60, 20);
		woman.setBounds(285, 180, 60, 20);
		bgp.add(man);
		bgp.add(woman);
		jp.add(man);
		jp.add(woman);
		Classs.setBounds(100, 220, 70, 20);
		jp.add(Classs);
		cla.setBounds(190, 220, 140, 20);
		jp.add(cla);
		Academy.setBounds(64,260,140,20);
		jp.add(Academy);
		acad.setBounds(190, 260, 140, 20);
		jp.add(acad);
	}
	//实现按钮点击事件函数,此处连接MySQL数据库
	public void actionPerformed(ActionEvent e) {
		//获得用户输入的ID
		String Id = id.getText();
		//如果“查找”按钮被点击,则进入该分支语句
		if (e.getSource()==search) {
			//尝试连接数据库,如果连接失败则报错
			try {
				Class.forName("com.mysql.jdbc.Driver");
			}
			catch(ClassNotFoundException ce) {
				JOptionPane.showMessageDialog(ms, ce.getMessage());
			}
			try {
				//连接数据库
				Connection conn = DriverManager.getConnection(url,user,password);
				Statement stmt = conn.createStatement();
				//执行sql语句
				ResultSet rs = stmt.executeQuery("select * from STU");
				//该while语句获得数据库中的信息
				while(rs.next()) {
					String idd = rs.getString("ID");
					if(Id.equals(idd)) {
						nm.setText(rs.getString("Name"));
						if(rs.getString("Sex").equals("男")) {
							man.setSelected(true);
						}
						else {
							woman.setSelected(true);
						}
						cla.setText(rs.getString("Class"));
						acad.setText(rs.getString("Academy"));
					}
				}
			}
			catch(SQLException se) {
				JOptionPane.showMessageDialog(ms, se.getMessage());
			}
		}
		else {
			id.setText("");
		}
	}
	//利用主函数让登录界面显现
	public static void main(String args[]) {
		MessageSearch sch = new MessageSearch();
	}
}

     所有的界面都是在构造函数里定义并实现界面,利用主函数显现界面。

  • 11
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 31
    评论
压缩包含使用说明,windows端在文件资源管理器中 点击create.bat支持一键建表,其他系统可以使用 createtables.sql里面的sql语句进行数据库 欢迎使用学生信息管理系统(管理员端) 本系统支持添加,删除,修改等实用功能 方便您更好的管理学生数据 【I】管理员端 一,选择数据库 通过右上角的数据库菜单栏可以选择当前操 作的数据库 二,添加教师,学生,教师,学生成绩(管理员) 1)通过管理员窗口的左侧按钮可以按需添加 学生,教师,管理员,学生成绩等信息 2)通过下方按钮“添加行”来新建空行,然 后手动输入数据,再点击“保存”按钮将表 单上传到数据库。 (注意:如果格式不正确,比如通过该方法上传 的数据可能会发生错误,所以方法2只适合管 理员使用) 3)支持批量添加行(注意:如果有一行错误,所 有操作将被回滚) 4)为学生添加老师,进入选择学生数据库,在 某一个学生行单击右键,选择“添加老师”,即 可为该id的学生添加老师 5)为学生添加课程,进入学生数据可以,在某一 学生行单击右键,选择“修改成绩”,可以进入 成绩修改窗口(管理员端),输入学生id, 为学生添加任意课程,也可为课程添加或修改删除 成绩 三,删除 在表格中使用鼠标选中一些数据行,然后点击 左侧“删除”按钮,即可删除表单中的数据 四,修改 双击表格,输入数据,按回车保存,然后点击 右下角“保存修改”按钮,将表单上传到数据 库中。(注意:因为学生成绩信息是以二进制 形式储存,所以请不要直接在表格中修改) 五,排序 在表格某一列点击排序按钮,对当前选择的表单 按该列进行排序,右上角排序选择框可以决定排 序的方向是升序还是逆序。 【II】教师端 1)教师基本信息 教师信息将显示在表格左侧 2)查看学生列表 单击“我的学生”,表格中将显示该教师的所有 学生 3)在表格中右击某一个学生,将进入成绩修改窗 口(教师端),支持为当前学生添加或修改当前 教师所教科目的学生成绩 4)查看成绩表 单击“成绩表”,表格中显示该教师所有学生的 成绩信息。 【III】学生端 1)学生基本信息 学生信息将显示在表格左侧 2)查看成绩 单击“学业成绩”,表格中将显示学生所有成绩 3)查看老师 单击“我的老师”,表格中将显示学生所有老师 的基本信息。
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值