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

完整代码链接:https://pan.baidu.com/s/1XpFOpUkP6Go7E6esVS3q3Q

提取码:9l4y

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

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

       

 

     jar文件导入步骤:

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

    Java实现学生信息管理系统并与MySQL数据库进行交互_第1张图片

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

Java实现学生信息管理系统并与MySQL数据库进行交互_第2张图片

之后找到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();
	}
}

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

你可能感兴趣的:(项目开发)