Java 学生信息管理系统 (mysql版)
引言:如果需要定制类似的图形界面版的Java 管理系统,比如控制台版的,Java web版的,ssm版,开发工具为idea和eclipse、myEclipse的,提供远程服务,需要源码,或者需要项目实训、毕业设计系统、论文指导的,可以加我QQ1728608455。
本次的学生信息管理系统为图形界面版,如若需要别的版本,可以参考我写的其他博客,希望能帮助那些爱学习的人。
1、效果图
部分重要代码展示
package management;
/**
* 登录界面
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class LoginMain {
private JTextField IDText; //学号文本框
private JPasswordField passwdText; //密码文本框
private JComboBox box; //身份下拉列表框
private JLabel loginlab; //登录状态标签
private JFrame jframe; //窗体
public LoginMain(){
JLabel userlab = new JLabel("学 号:",JLabel.CENTER);//创建学号标签
IDText = new JTextField(25); //实例学号文本框
JLabel passwdlab = new JLabel("密 码:",JLabel.CENTER);//创建密码标签
passwdText = new JPasswordField(25);//实例化密码文本框
loginlab = new JLabel("登录状态:",JLabel.CENTER);//实例化登录状态标签
JLabel IDlabel = new JLabel("身份:");
String str[] = {"student","teacher"};//创建下拉列表选项数组
box = new JComboBox(str);
jframe = new JFrame("学生管理系统登录界面");//实例化一个窗口,并设置标题
JPanel userPanel= new JPanel(); //创建userPanel面板
JPanel passwdPanel = new JPanel();//创建passwdPanel面板
JPanel buttonPanel = new JPanel();//创建 buttonPanel面板
JPanel labelPanel = new JPanel(); //labelPanel面板
userPanel.add(userlab);//将userlab添加到userPanel面板
userPanel.add(IDText); //将IDText添加到userPanel面板
passwdPanel.add(passwdlab);
passwdPanel.add(passwdText);
JButton submit = new JButton("登录");//创建按钮并设置文本
JButton reset = new JButton("重置");
buttonPanel.add(IDlabel);//
buttonPanel.add(box);//将下拉列表框添加到buttonPanel面板
buttonPanel.add(submit);
buttonPanel.add(reset);
Font font=new Font("楷体",Font.BOLD+Font.PLAIN,35);
loginlab.setFont(font);//设置loginlab标签文本字体
loginlab.setForeground(Color.blue);
labelPanel.add(loginlab);
submit.addActionListener(new ActionListener(){
//注册submit按钮事件监听器
public void actionPerformed(ActionEvent e){
String user=IDText.getText();//获取学号
String passwd=new String (passwdText.getPassword());//获取密码
String identity= (String) box.getSelectedItem();
LoginCheck date=new LoginCheck(user,passwd,identity);
//连接数据库
System.out.println(user+" "+passwd+" "+identity);
boolean flag=date.prepared();
System.out.println(flag);
if(flag){//判断是否为合法用户
if("teacher".equals(identity)){
new TeacherInterface();
jframe.dispose();
}
else{
System.out.println("haha");
new StudentInterface(user);//登录学生界面
jframe.dispose(); //隐藏当前窗体
}
loginlab.setForeground(Color.green);
loginlab.setText("登陆成功!!!");
}
else{
loginlab.setForeground(Color.red);
loginlab.setText("登陆失败!!!");
}
}
});
reset.addActionListener(new ActionListener(){
//注册reset事件监听
public void actionPerformed(ActionEvent e){
IDText.setText("");//重置学号
passwdText.setText("");
loginlab.setForeground(Color.blue);
loginlab.setText("请重新登录!!!");
}
});
jframe.setLayout(new GridLayout(4,1));
jframe.add(userPanel);
jframe.add(passwdPanel);
jframe.add(buttonPanel);
jframe.add(labelPanel);
jframe.setSize(400,200);
jframe.setLocation(250,350);
jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗口关闭方式
jframe.setVisible(true);
}
public static void main(String[] args){
new LoginMain();
}
}
package management;
//查询全部学生功能
import java.sql.*;
import java.util.*;
import javax.swing.JOptionPane;
import sqlpackage.DBConnection;
public class StudentAllInformation {
public static List<Object> selectAll() {
List<Object> list=new ArrayList<Object>();//
Object[] os=null;
Connection conn=null;//连接数据库对象
PreparedStatement pstmt=null;//预编译语句对象
ResultSet rs = null;//结果集语句对象
try{
conn=DBConnection.getConnection();//获取数据库连接
String sql="SELECT id,sname,password,sex,haddress,phone,dorm,result from student";
//
pstmt=conn.prepareStatement(sql);//使用预编译语句进行查询操作
rs=pstmt.executeQuery();//获取结果集
while(rs.next()){//判断结果集中是否有数据
os=new Object[8];
double point =rs.getDouble("result");//获取成绩信息
os[0]=rs.getString(1);//将学号信息放到对应数组中
os[1]=rs.getString(2);
os[2]=rs.getString(3);
os[3]=rs.getString(4);
os[4]=rs.getString(5);
os[5]=rs.getString(6);
os[6]=rs.getString(7);
os[7]=new Double(point);
list.add(os);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询所有学生信息时发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
//提示查询指定用户信息时发生异常
}finally{
DBConnection.close(conn);//关闭数据库连接
}
return list;
}
}
package management;
/**
* 添加学生功能实现
* @author Administrator
*
*/
import java.sql.*;
import javax.swing.JOptionPane;
import sqlpackage.DBConnection;
public class AddStudentInformation {
public static int add(String id, String name, String passwd, String sex, String add, String phone, String dorm,
String result, double point) {
// TODO Auto-generated method stub
Connection conn=null;//连接数据库对象
PreparedStatement pstmt=null;//预编译对象
int rows=0;//更新语句行数变量
try{
conn=DBConnection.getConnection();//获取数据库连接
String sql="insert into Student(id,sname,password,sex,haddress,phone,dorm,result )values(?,?,?,?,?,?,?,?)";
//
pstmt=conn.prepareStatement(sql);//使用预编译语句进行插入操作
pstmt.setString(1,id);//将名称参数设置到 sql语句中
pstmt.setString(2,name);
pstmt.setString(3,passwd);
pstmt.setString(4,sex);
pstmt.setString(5,add);
pstmt.setString(6,phone);
pstmt.setString(7,dorm);
pstmt.setDouble(8,point);
rows=pstmt.executeUpdate();//执行更新操作
}catch(SQLException e){
System.out.println("插入数据时发生异常");
e.printStackTrace();
}finally{
//DBConnection.close(pstmt);//关闭操作数据库对象资源
DBConnection.close(conn);//关闭连接数据库对象资源
}
return rows;
}
public static int update(String id, String name, String passwd, String sex, String add, String phone, String dorm,
String result, double point) {
Connection conn=null;//连接数据库对象
PreparedStatement pstmt=null;//预编译语句对象
int rows=0;//结果集对象
try{
conn=DBConnection.getConnection();//获取数据库连接
String sql="UPDATE student set password=?,sex=?,haddress=?,phone=?,dorm=?where id=?";
pstmt=conn.prepareStatement(sql);//使用预编译语句进行操作
pstmt.setString(1,passwd);//将名称参数设置到 sql语句中
pstmt.setString(2,sex);
pstmt.setString(3,add);
pstmt.setString(4,phone);
pstmt.setString(5,dorm);
pstmt.setString(6,id);
rows=pstmt.executeUpdate();//执行更新操作
}catch(SQLException e){//判断是否发生异常
JOptionPane.showMessageDialog(null, "插入数据时发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
//发生异常
}finally{
//DBConnection.close(pstmt);//关闭操作数据库对象资源
DBConnection.close(conn);//关闭数据库连接
}
return rows;
}
public static boolean check(String id) {
// TODO Auto-generated method stub
Connection conn=null;//连接数据库对象
PreparedStatement pstmt=null;//预编译语句对象
ResultSet rs = null;//结果集语句对象
try{
conn=DBConnection.getConnection();//获取数据库连接
String sql="SELECT id student from student where id=?";
//
pstmt=conn.prepareStatement(sql);//使用预编译语句进行操作
pstmt.setString(1,id);//将name参数设置到 sql语句中
rs=pstmt.executeQuery();//获取结果集
if(rs.next()){//判断结果集中是否有数据
return true;
}
}catch(SQLException e){
System.out.println("插入数据时发生异常");
e.printStackTrace();
}finally{
DBConnection.close(conn);//关闭连接数据库对象资源
}
return false;
}
}
package management;
//删除学生界面
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DelStudentInterface extends JFrame{
private static final long serialVersionUID=-1928970409928880648L;//序列化版本号??
JLabel lsid=new JLabel("学 号 :");//创建学号标签
JTextField tsid=new JTextField("",20);//创建学号文本框
JButton delStudent=new JButton("删除学生");//创建删除学生按钮
JButton reset=new JButton("重置");
public DelStudentInterface(){
JPanel idPan=new JPanel();//创建学号面板
JPanel bPan=new JPanel();
idPan.add(lsid);
idPan.add(tsid);
bPan.add(delStudent);
bPan.add(reset);
delStudent.addActionListener(new ActionListener(){
//注册delStudent监听器
public void actionPerformed(ActionEvent e){
String id=tsid.getText();//取得学号信息
if(id==null||"".equals(id)){
JOptionPane.showMessageDialog(null, "学号不能为空!!!",
"**提示信息**",JOptionPane.INFORMATION_MESSAGE);
return;
}
if((DelStudentInformation.delete(id))<1){
JOptionPane.showMessageDialog(null, "删除失败!!!",
"**提示信息**",JOptionPane.INFORMATION_MESSAGE);
return;
}else{
JOptionPane.showMessageDialog(null, "删除"+id+"成功!!!",
"**提示信息**",JOptionPane.INFORMATION_MESSAGE);
}
}
});
reset.addActionListener(new ActionListener(){
//注册reset监听器
public void actionPerformed(ActionEvent e){
tsid.setText("");
}
});
this.setTitle("删除学生信息界面");//设置窗口标题
this.setLayout(new GridLayout(2,1));//设置窗口布局管理器
this.add(idPan);//将学号面板添加到窗体中
this.add(bPan);
this.setLocation(400,300);//设置窗体初始位置
this.setSize(350,150);//设置窗体大小
this.setVisible(true);//设置窗体可见
}
}
package management;
//获取学生成绩
import java.sql.*;
import javax.swing.JOptionPane;
//import javax.swing.JOPtionPane;
import sqlpackage.ResultSelect;
public class ResultSelectInformation {
public static double average() {
// TODO Auto-generated method stub
double result=0;
String sql="Select AVG(result) From student";
ResultSet rs=ResultSelect.executeQuery(sql);//获取结果集
try{
if(rs.next()){
result=rs.getDouble(1);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询平均成绩发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
}
return result;
}
/**
* 求学生的总体成绩情况
*/
public static int[] selectResult() {
// TODO Auto-generated method stub
int rate[]=new int[5];
String sqlCount="Select count(id) from student";
String failCount="select(select COUNT(result) from student where result<60);";
String passCount="select(select COUNT(result) from student where result>=60 and result<75);";
String fineCount="select(select COUNT(result) from student where result>=75 and result<85);";
String excellentCount="select(select COUNT(result) from student where result>=85);";
ResultSet rs=null;
try{
rs=ResultSelect.executeQuery(sqlCount);
if(rs.next()){
rate[0]=rs.getInt(1);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询总人数发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
}
try{
rs=ResultSelect.executeQuery(failCount);
if(rs.next()){
rate[1]=rs.getInt(1);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询不及格人数发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
}
try{
rs=ResultSelect.executeQuery(passCount);
if(rs.next()){
rate[2]=rs.getInt(1);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询及格人数发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
}
try{
rs=ResultSelect.executeQuery(fineCount);
if(rs.next()){
rate[3]=rs.getInt(1);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询良好人数发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
}
try{
rs=ResultSelect.executeQuery(excellentCount);
if(rs.next()){
rate[4]=rs.getInt(1);
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "查询优秀发生异常","**提示信息**",
JOptionPane.INFORMATION_MESSAGE );
}
return rate;
}
}
希望能帮到大家。
Java 学生信息管理系统 (mysql版)相关推荐
- JAVA学生信息管理系统IO流版
JAVA学生信息管理系统IO流版 1. Student类 public class Student implements Serializable{//学号private int sid;//姓名pr ...
- java学生信息管理系统(GUI+mysql数据库)
java学生信息管理系统+GUI界面布局+mysql数据库 代码已经更新!,重新设计了UI界面,代码之间的逻辑更加清晰 新的代码不需要手动建立数据库和表,全部由程序自动执行 用户名和密码为你数据库的用 ...
- 学生管理系统html js,学生信息管理系统JS版(Eclipse).docx
学生信息管理系统JS版(Eclipse) 学生信息管理系统JSP版(Eclipse) 新建new->Dynamic Web Project->名字为StudentJSP. 准备工作 编写J ...
- 基于JAVA学生信息管理系统录像演示2021计算机毕业设计源码+系统+数据库+lw文档+部署
基于JAVA学生信息管理系统录像演示2021计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA学生信息管理系统录像演示2021计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈 ...
- JAVA 学生信息管理系统
java 学生信息管理系统 主要使用的增删改查操作 首先,需要先建一个文件(点击左上角File,选择第一个New里的第一个Java Project) 然后再建一个Javabean包,在这个包里新建一个 ...
- python 实现学生信息管理系统+MySql 数据库,包含源码及相关实现说明~
学生信息管理系统 1.系统说明 python 编写的学生信息管理系统+MySQL数据库,实现了增删改查的基本功能. 2.数据库说明 本人使用的是 MySQL8.0 版本 数据库端口号为:3306 数据 ...
- 通过学生信息管理系统(数组版)学习C语言
我的知识星球<C语言解惑课堂>的[第159篇]到[167篇]是学生信息管理系统(数组版)的一个C语言源码实现,[第340.341.342.343.344篇]详解了源码中的C程序知识点,需要 ...
- JAVA学生信息管理系统课程设计简介以及开发源码介绍
java学生信息管理系统简介 1.系统简介 主要实现功能:登录,注册,增加,删除,更改,查找,条件查找,查看在线账号,更改密码. 涉及到内容:java mysql8.0 Navicat 可视化工具 2 ...
- PHP 学生信息管理系统mysql数据库web结构apache计算机软件工程网页wamp
一.源码特点 PHP 学生信息管理系统 是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发. 代码下载 https://dow ...
最新文章
- 有关包络Spectral Envelope的疑问
- Unity镜子效果的实现(无需镜子Shader)
- CCNA的全套标准实验
- 搭建elasticsearch+kibana+logstash+filebeat
- 如何将已有mdf文件导入到SQL 2000 或者 SQL 2005
- DayDayUp之Job:牛客网—算法工程师—剑指offer之66道在线编程(解决思路及其代码)——21~40
- 如何增加SAP_ALL的权限
- QT的QJSValueIterator类的使用
- php源码仿三一重工,织梦仿三一重工业大学气企业网站php源码
- 加速度计和陀螺仪数据融合
- 谷歌发布端到端AI平台,还有用于视频和表格的AutoML、文档理解API等多款工具
- 2018.09.28 hdu5434 Peace small elephant(状压dp+矩阵快速幂)
- docker容器构建_我如何容器化构建系统
- heap c语言数组实现,垃圾回收算法实现之 - 分代回收(完整可运行C语言代码)...
- 用Javascript实现面向对象编程(封装,抽象,继承,多态)
- Kubernetes RBAC 详解
- 基于CentOS7上的搭建javaweb环境 - 学习笔记
- 傅里叶变换落地:离散傅里叶变换(DFT)
- Quasar的配置文件说明
- 2018贵州省大学生程序设计竞赛参赛感言
热门文章
- 【免费开放源码】审批类小程序项目实战(我的页面)
- python程序入口
- Opencv Sift和Surf特征实现图像无缝拼接生成全景图像
- 鼠标放到标签上面显示弹窗,滑过弹窗后,弹窗显示,移出标签和弹窗,弹窗消失
- android 手机充电慢,导致手机充电太慢的四大原因及解决方法【图文教程】
- 为什么java缩进不能tab_为什么代码缩进时必须要用 Tab 而不能用空格
- 怎样切换tab显示不同的数据
- 五、HTML5单页框架View.js介绍 - View.js的比较优势
- 视频教程-Python爬虫视频课程:中国女性胸部大小分析-Python
- ios打开系统setting页面