今天为大家分享一个java语言的学生信息管理系统,目前系统已经完成了初步功能,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步
开发环境
开发语言为Java,开发环境Eclipse或者IDEA都可以,数据为MySQL。运行主程序,或者执行打开JAR文件即可以运行本程序。
系统框架
利用JDK自带的SWING框架开发,下载。纯窗体模式,直接运行Main文件即可以。同时带有详细得设计文档。
系统主要功能
开发背景
《面向对象程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本思路和方法;加强学生研发、调试程序的能力;培养学生分析、解决问题的能力;提高学生的科技论文写作能力。
主要功能
录入学生基本信息的功能
学生基本信息主要包括:学号、姓名、性别、年龄、出生地、专业、班级、总学分,在插入时,如果数据库则已经存在该学号,则不能再插入该学号。
修改学生基本信息的功能
在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。
查询学生基本信息的功能
可使用“姓名”对已存有的学生资料进行查询。
删除学生基本信息的功能
在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。
用户登陆
用不同的登录权限可以进入不同的后台界面,从而实现权限操作。
用户登陆信息设置
可以修改用户登陆密码
系统运行效果
关键代码
/*
* 功能:实现闪屏界面
* 日期:2010.10.11
* */
package com.View;
import java.awt.*;
import javax.swing.*;
public class Index extends JWindow implements Runnable{
//定义与进度条相关的组件
JProgressBar jpb;//定义进度条
JLabel jl1;//用于在窗体的北部放一张图片,南部是进度条
int width,height;//用于获取显示屏分辨率大小
public static void main(String []args){
Index index=new Index();
//创建index线程
Thread t=new Thread(index);
//启动线程
t.start();
}
//构造函数
public Index()
{
//创建标签,并在标签上放置一张图片
jl1=new JLabel(new ImageIcon("image/index1.gif"));
//创建进度条
jpb=new JProgressBar();
//设置进度条属性
jpb.setStringPainted(true);//显示当前进度值信息
jpb.setIndeterminate(false);//确定进度条执行完成后不来回滚动
jpb.setBorderPainted(false);//设置进度条边框不显示
jpb.setBackground(Color.darkGray);//设置进度条的背景色
//添加组件
this.add(jl1,BorderLayout.NORTH);
this.add(jpb,BorderLayout.SOUTH);
//设置窗体属性
this.setSize(400,263);
//设置窗体显示的位置
width=Toolkit.getDefaultToolkit().getScreenSize().width;
height=Toolkit.getDefaultToolkit().getScreenSize().height;
this.setLocation(width/2-200,height/2-150);
//设置窗口显示
this.setVisible(true);
}
//进度条线程的run方法,用于设置线程的属性
public void run() {
//定义一个数组,存放进度条显示时需要的数据
int []progressValue={0,1,5,8,14,17,26,35,38,43,49,56,65,71,75,78,86,94,98,99,100};
for(int i=0;i<progressValue.length;i++)
{
try {
//休眠1秒,再执行
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
jpb.setValue(progressValue[i]);//取得数组中的进度值
}
//当进度完成后,执行相应的操作,如切换到其他的窗口,同时关闭进度条窗口等
new Login();
//关闭进度条窗口
this.dispose();
}
}
/*
* 功能:连接数据库
* */
package com.SqlConnection;
import java.sql.*;
import com.View.AddStu;
public class SqlConn {
Connection ct=null;
PreparedStatement ps=null;
ResultSet rs=null;
String driver="sun.jdbc.odbc.JdbcOdbcDriver";
String dburl="jdbc:odbc:stuSystem";
String userName="";
String password="";
//实现查询功能的方法
public ResultSet sqlQuery(String sql)
{
try {
//加载驱动
Class.forName(driver);
ct=DriverManager.getConnection(dburl,userName,password);
ps=ct.prepareStatement(sql);
rs=ps.executeQuery();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
return rs;
}
//实现添加,修改功能 的方法
public void sqlUpdate(String sql)
{
try {
//加载驱动
Class.forName(driver);
ct=DriverManager.getConnection(dburl,userName,password);
ps=ct.prepareStatement(sql);
//执行添加,更新操作
int i=ps.executeUpdate();//返回一个值,如果为1则表示添加成功。
if(i==1)
{
System.out.println("数据添加/修改成功!");
}
else
{
System.out.println("数据添加/修改失败!");
}
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
//实现删除学生记录的方法
public void sqlDelete(String sql)
{
try {
//加载驱动
System.out.println("ok");
Class.forName(driver);
ct=DriverManager.getConnection(dburl,userName,password);
ps=ct.prepareStatement(sql);
System.out.println("ok1");
//执行添加,更新操作
int i=ps.executeUpdate();//返回一个值,如果为1则表示删除成功。
if(i==1)
{
System.out.println("数据删除成功!");
}
else
{
System.out.println("数据删除失败!");
}
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
//实现关闭数据库连接的功能
public void closeSqlConn()
{
try {
if(rs!=null)rs.close();
if(ps!=null)ps.close();
if(ct!=null)ct.close();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
}