Java基于MySQL实现学生管理系统
作者:Hyouka1203 发布时间:2024-01-23 07:32:02
标签:Java,MySQL,管理系统
本文为大家分享了Java基于MySQL实现学生管理系统,供大家参考,具体内容如下
因为实验室要交作业然后就做了一个学生管理系统,贴个代码纪念一下,做的太急界面什么的也比较差。
还有一些小细节没有完善不过还是能实现主要的功能的。
Window是主界面
package First;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Window {
public static void main(String[] args){
JFrame jframe = new JFrame("学生管理系统") ; //window
Dimension d = new Dimension(400,300);
Point p = new Point (250,350);
jframe.setSize(d);
jframe.setLocation(p);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jframe.setVisible(true);
JButton button1 = new JButton("添加");
JButton button2 = new JButton("修改");
JButton button3 = new JButton("查询");
JButton button4 = new JButton("删除");
JButton button5 = new JButton("浏览");
FlowLayout flow = new FlowLayout(FlowLayout.LEFT,10,10);
JPanel panel = new JPanel(flow);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
panel.add(button5);
jframe.add(panel);
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Add add = new Add();
}
});
button2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Change change = new Change();
}
});
button3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Ask ask = new Ask();
}
});
button4.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Delete delete = new Delete();
}
});
button5.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Look look = new Look();
}
});
}
}
Add是添加
package First;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import com.mysql.jdbc.Driver;
import First.Window;
public class Add extends JFrame {
private static final long serialVersionUID = -1928970409928880648L;
JLabel jlnumber = new JLabel("学号:");
JLabel jlname = new JLabel("姓名:");
JLabel jlsex = new JLabel("性别:");
JLabel jlbirthday = new JLabel("出生日期:");
JLabel jldepartment = new JLabel("学院:");
JTextField jtnumber = new JTextField("",20);
JTextField jtname = new JTextField("",20);
JTextField jtsex = new JTextField("",20);
JTextField jtbirthday = new JTextField("",20);
JTextField jtdepartment = new JTextField("",20);
JButton buttonadd = new JButton("添加");
JButton buttonreturn = new JButton("返回");
public Add() {
JPanel jpnumber = new JPanel();
JPanel jpname = new JPanel();
JPanel jpsex = new JPanel();
JPanel jpbirthday = new JPanel();
JPanel jpdepartment = new JPanel();
JPanel jpforbutton = new JPanel(new GridLayout(1,1));
jpnumber.add(jlnumber);
jpnumber.add(jtnumber);
jpname.add(jlname);
jpname.add(jtname);
jpsex.add(jlsex);
jpsex.add(jtsex);
jpbirthday.add(jlbirthday);
jpbirthday.add(jtbirthday);
jpdepartment.add(jldepartment);
jpdepartment.add(jtdepartment);
jpforbutton.add(buttonadd);
jpforbutton.add(buttonreturn);
buttonadd.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//Add
Connection conn = null;
Statement stat = null;
PreparedStatement ps=null;
String sql = "INSERT INTO student(number,name,sex,birthday,department) "
+ "values(?,?,?,?,?)";
try{
Class.forName("Driver");
System.out.println("JBDC 加载成功!");
}catch(Exception a){
System.out.println("JBDC 狗带!");
a.printStackTrace();
}
try{
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaStu","root","123");
ps=conn.prepareStatement(sql);
ps.setString(1,jtnumber.getText());
ps.setString(2,jtname.getText());
ps.setString(3,jtsex.getText());
ps.setString(4,jtbirthday.getText());
ps.setString(5,jtdepartment.getText());
ps.executeUpdate();
//System.out.println("MySQL 连接成功!");
//stat = conn.createStatement();
//stat.executeUpdate(sql);
//System.out.println("插入数据成功!");
}catch (SQLException b){
b.printStackTrace();
}finally{
try{
conn.close();
System.out.println("MySQL 关闭成功");
}catch (SQLException c){
System.out.println("MySQL 关闭失败 ");
c.printStackTrace();
}
}
}}
);
buttonreturn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Window window = new Window();
}
});
this.setTitle("添加学生信息");
this.setLayout(new GridLayout(9,1));
this.add(jpnumber);
this.add(jpname);
this.add(jpsex);
this.add(jpbirthday);
this.add(jpdepartment);
this.add(jpforbutton);
this.setLocation(400,300);
this.setSize(350,300);
this.setVisible(true);
}
}
Ask是查询
package First;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import First.Window;
public class Ask extends JFrame {
private static final long serialVersionUID = -1928970409928880648L;
JLabel jlnumber = new JLabel("学号:");
JLabel jlname = new JLabel("姓名:");
JLabel jlsex = new JLabel("性别:");
JLabel jlbirthday = new JLabel("出生日期:");
JLabel jldepartment = new JLabel("学院:");
JTextField jtnumber = new JTextField("",20);
JLabel jname = new JLabel();
JLabel jsex = new JLabel();
JLabel jbirthday = new JLabel();
JLabel jdepartment = new JLabel();
JButton buttonask = new JButton("查询");
JButton buttonreturn = new JButton("返回");
public Ask() {
JPanel jpnumber = new JPanel();
JPanel jpname = new JPanel();
JPanel jpsex = new JPanel();
JPanel jpbirthday = new JPanel();
JPanel jpdepartment = new JPanel();
JPanel jpforbutton = new JPanel(new GridLayout(1,1));
jpnumber.add(jlnumber);
jpnumber.add(jtnumber);
jpname.add(jlname);
jpname.add(jname);
jpsex.add(jlsex);
jpsex.add(jsex);
jpbirthday.add(jlbirthday);
jpbirthday.add(jbirthday);
jpdepartment.add(jldepartment);
jpdepartment.add(jdepartment);
jpforbutton.add(buttonask);
jpforbutton.add(buttonreturn);
buttonask.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Connection conn = null;
ResultSet res = null;
Statement stat = null;
String sql = "SELECT number,name,sex,birthday,department FROM student;";
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception d){
System.out.println("jdbc fall");
d.printStackTrace();
}
try{
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaStu","root","123");
stat=conn.createStatement();
res=stat.executeQuery(sql);
while (res.next())
{
if (res.getString(1).equals(jtnumber.getText()))
{
jname.setText(res.getString(2));
jsex.setText(res.getString(3));
jbirthday.setText(res.getString(4));
jdepartment.setText(res.getString(5));
break;
}
}
}catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
finally{
try{
conn.close();
}catch(SQLException ar){
ar.printStackTrace();
}
}}}
);
buttonreturn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Window window = new Window();
}
});
this.setTitle("查询学生信息");
this.setLayout(new GridLayout(9,1));
this.add(jpnumber);
this.add(jpname);
this.add(jpsex);
this.add(jpbirthday);
this.add(jpdepartment);
this.add(jpforbutton);
this.setLocation(400,300);
this.setSize(350,300);
this.setVisible(true);
}
}
Change是修改
package First;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import First.Window;
public class Change extends JFrame {
private static final long serialVersionUID = -1928970409928880648L;
JLabel jlnumber = new JLabel("学号:");
JLabel jlname = new JLabel("姓名:");
JLabel jlsex = new JLabel("性别:");
JLabel jlbirthday = new JLabel("出生日期:");
JLabel jldepartment = new JLabel("学院:");
JTextField jtnumber = new JTextField("",20);
JTextField jtname = new JTextField("",20);
JTextField jtsex = new JTextField("",20);
JTextField jtbirthday = new JTextField("",20);
JTextField jtdepartment = new JTextField("",20);
JButton buttonchange = new JButton("修改");
JButton buttonreturn = new JButton("返回");
public Change() {
JPanel jpnumber = new JPanel();
JPanel jpname = new JPanel();
JPanel jpsex = new JPanel();
JPanel jpbirthday = new JPanel();
JPanel jpdepartment = new JPanel();
JPanel jpforbutton = new JPanel(new GridLayout(1,1));
jpnumber.add(jlnumber);
jpnumber.add(jtnumber);
jpname.add(jlname);
jpname.add(jtname);
jpsex.add(jlsex);
jpsex.add(jtsex);
jpbirthday.add(jlbirthday);
jpbirthday.add(jtbirthday);
jpdepartment.add(jldepartment);
jpdepartment.add(jtdepartment);
jpforbutton.add(buttonchange);
jpforbutton.add(buttonreturn);
buttonchange.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String number = jtnumber.getText();
String name = jtname.getText();
String sex = jtsex.getText();
String birthday = jtbirthday.getText();
String department = jtdepartment.getText();
Connection conn = null;
ResultSet res = null;
Statement stat = null;
String sql = "SELECT number,name,sex,birthday,department FROM student;";
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception d){
System.out.println("jdbc fall");
d.printStackTrace();
}
try{
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaStu","root","123");
stat=conn.createStatement();
res=stat.executeQuery(sql);
while (res.next())
{
//change
if (res.getString(1).equals(jtnumber.getText()))
{
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception d){
System.out.println("jdbc fall");
d.printStackTrace();
}
String sql2="UPDATE student SET name='"+name+"' WHERE number='"+jtnumber.getText()+"'";
String sql3="UPDATE student SET sex='"+sex+"' WHERE number='"+jtnumber.getText()+"'";
String sql4="UPDATE student SET birthday='"+birthday+"' WHERE number='"+jtnumber.getText()+"'";
String sql5="UPDATE student SET department='"+department+"' WHERE number='"+jtnumber.getText()+"'";
try {
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaStu","root","123");
stat=conn.createStatement();
stat.executeUpdate(sql2);
stat.executeUpdate(sql3);
stat.executeUpdate(sql4);
stat.executeUpdate(sql5);
} catch (SQLException g) {
// TODO Auto-generated catch block
g.printStackTrace();
}try{
stat.close();
conn.close();
}catch(SQLException ar){
ar.printStackTrace();
}
break;
}
//change end
}
}catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
finally{
try{
conn.close();
}catch(SQLException ar){
ar.printStackTrace();
}
}
}
});
buttonreturn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Window window = new Window();
}
});
this.setTitle("修改学生信息");
this.setLayout(new GridLayout(9,1));
this.add(jpnumber);
this.add(jpname);
this.add(jpsex);
this.add(jpbirthday);
this.add(jpdepartment);
this.add(jpforbutton);
this.setLocation(400,300);
this.setSize(350,300);
this.setVisible(true);
}
}
Delete是删除
package First;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import First.Window;
public class Delete extends JFrame {
private static final long serialVersionUID = -1928970409928880648L;
JLabel jlnumber = new JLabel("学号:");
JTextField jtnumber = new JTextField("",20);
JButton buttondelete = new JButton("删除");
JButton buttonreturn = new JButton("返回");
public Delete() {
JPanel jpnumber = new JPanel();
JPanel jpforbutton = new JPanel(new GridLayout(1,1));
jpnumber.add(jlnumber);
jpnumber.add(jtnumber);
jpforbutton.add(buttondelete);
jpforbutton.add(buttonreturn);
buttondelete.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String number = jtnumber.getText();
Connection conn = null;
ResultSet res = null;
Statement stat = null;
String sql = "DELETE FROM student WHERE number='"+number+"'";
try{
Class.forName("com.mysql.jdbc.Driver");
}catch(Exception a){
a.printStackTrace();
}
try{
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/javaStu","root","123");
stat = conn.createStatement();
stat.executeUpdate(sql);
}catch(SQLException h){
h.printStackTrace();
}finally{
try{
conn.close();
System.out.println("close success!");
}catch(SQLException j){
System.out.println("close go die!");
j.printStackTrace();
}
}
}
});
buttonreturn.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Window window = new Window();
}
});
this.setTitle("删除学生信息");
this.setLayout(new GridLayout(9,1));
this.add(jpnumber);
this.add(jpforbutton);
this.setLocation(400,300);
this.setSize(350,300);
this.setVisible(true);
}
}
Look是浏览
package First;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import First.Window;
public class Look extends JFrame {
private static final long serialVersionUID = -1928970409928880648L;
Connection conn = null;
PreparedStatement ps = null;
ResultSet res = null;
//JButton buttonlook = new JButton("浏览");
//JButton buttonreturn = new JButton("返回");
JTable jtable;
JScrollPane jscrollpane = new JScrollPane();
Vector columnNames = null;
Vector rowData = null;
public Look() {
JPanel jpforbutton = new JPanel(new GridLayout(1,1));
columnNames = new Vector();
columnNames.add("学号");
columnNames.add("姓名");
columnNames.add("性别");
columnNames.add("出生日期");
columnNames.add("学院");
rowData = new Vector();
//jpforbutton.add(buttonlook);
//jpforbutton.add(buttonreturn);
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/javaStu","root","123");
ps = conn.prepareStatement("SELECT * FROM student");
res = ps.executeQuery();
while (res.next())
{
Vector hang = new Vector();
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));
rowData.add(hang);
}
System.out.println("load ok!");
}catch (Exception q){
q.printStackTrace();
System.out.println("go die");
}finally{
try{
res.close();
ps.close();
conn.close();
System.out.println("close ok");
}catch (SQLException o){
o.printStackTrace();
System.out.println("go die 2");
}
}
jtable = new JTable(rowData,columnNames);
jscrollpane = new JScrollPane(jtable);
this.add(jscrollpane);
this.setTitle("浏览学生信息");
this.setLayout(new GridLayout(2,5));
this.add(jpforbutton);
this.setLocation(300,300);
this.setSize(500,300);
this.setVisible(true);
this.setResizable(false);
}
}
一些运行的界面:
更多学习资料请关注专题《管理系统开发》。
来源:http://blog.csdn.net/qq_34472846/article/details/51097965


猜你喜欢
- SUBSTRING 返回字符、binary、text 或 image 表达式的一部分。有关可与该函数一起使用的有效 Microsoft&am
- 这篇文章主要介绍了django-多对多表的创建和插入代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 1)doctest 使用doctest是一种类似于命令行尝试的方式,用法很简单,如下 def f(n): ""
- 使用sql语句创建和删除约束 约束类型 主键约束(Primary Key constraint) --:要求主键列数据唯一,并且不允许为空。
- 前言Java 中最通用的日志模块莫过于 Log4j 了,在 python 中,也自带了 logging 模块,该模块的用法其实和 Log4j
- 需求描述有时候我们会基于已有数据生成一列在表格中,类似于下面的class BaseSchema(models.Model): ... def
- 耦合两个或以上的体系或两种运动形式间相互作用而彼此影响以至于联合起来的现象。在软件工程中,对象之间的耦合度就是对象之间的依赖性,对象之间的耦
- 本文实例讲述了python文件读写操作与linux shell变量命令交互执行的方法。分享给大家供大家参考。具体如下:python对文件的读
- 本文实例为大家分享了python可视化动态CPU性能监控的具体代码,供大家参考,具体内容如下打算开发web性能监控,以后会去学js,现在用m
- etcd组件作为一个高可用强一致性的服务发现存储仓库.etcd作为一个受到ZooKeeper与doozer启发而催生的项目,除了拥有与之类似
- 数据采集我们上一篇介绍了,如何采集王者皮肤,买不起皮肤,当个桌面壁纸挺好的。我们今天来学习如何采集电影评论,看看这个电影好不好看。发送请求我
- 本文实例讲述了php生成curl命令行的方法。分享给大家供大家参考,具体如下:示例:curl "http://localhost/
- 前言:如果大家接触过数据分析,那么大家可能都知道,最让人头疼的就是在数据录入的过程中,不可避免的会产生重复值,缺失值和异常值了,python
- 楔子估计有不少小伙伴在将 DataFrame 导入到 Excel 的时候,都遇到过下面这种尴尬的情况:想将多个 DataFrame 导入到一
- 将PHP的执行页面预先转换成HTML,是所谓的PHP静态化方法之一。其他还有模板替换法,opcache等方法。静态化的作用:提高网站的响应速
- 1.建表-- Create table create table test ( dm1 char(3), dm2 char(3), mc1
- 前不久有个正要毕业的网友给我发邮件,他毕业设计需要实现锁屏的效果,但是他没有能看懂我之前发布的对话框源码,他问能不能把锁屏相关代码说明下,我
- 例如:[‘a', ‘b', ‘c'] 输出 [‘a', ‘b', ‘c'] [‘a'
- 前言分享一下最近在学习Django过程中,遇到和解决的一些有趣的方法和问题一、Django是什么?Django也不用在过多的去介绍了。使用p
- 为了方便例子讲解,现有数组和json对象如下var demoArr = ['Javascript', 'Gulp