Java学生信息管理系统设计(数据库版)

本文实例为大家分享了数据库版的Java学生信息管理系统,供大家参考,具体内容如下

package Student_system; 

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.*;
/*class Stu implements java.io.Serializable{
 String number,name,specialty,grade,borth,sex;
 public Stu(){};
 public void setNumber(String number){ this.number=number;}
 public String getNumber(){ return number;}
 public void setName(String name){ this.name=name;}
 public String getName(){ return name;}
 public void setSex(String sex){ this.sex=sex;}
 public String getSex(){ return sex;}
 public void setSpecialty(String specialty){ this.specialty=specialty;}
 public String getSpecialty(){ return specialty;}
 public void setGrade(String grade){ this.grade=grade;}
 public String getGrade(){ return grade;}
 public void setBorth(String borth){ this.borth=borth;}
 public String getBorth(){ return borth;}
}*/ 

public class StudentSystem extends JFrame{
 public static void main(String[] args){
  JFrame frame = new JFrame();
  frame.setTitle("信息管理系统");
  frame.setSize(500, 500);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  Container container = frame.getContentPane();
  container.setLayout(new FlowLayout());
 JLabel lb=new JLabel("录入请先输入记录,查询、删除请先输入学号,修改是对查询" +
   "内容改后的保存!");
 final JTextField 学号;
final JTextField 姓名;
final JTextField 专业;
final JTextField 年级;
final JTextField 出生;
 final JRadioButton 男;
final JRadioButton 女;
 ButtonGroup group=null;
 JButton 录入,查询,删除,修改,显示;
 JPanel p1,p2,p3,p4,p5,p6,pv,ph;
 学号=new JTextField(10);
 姓名=new JTextField(10);
 专业=new JTextField(10);
 年级=new JTextField(10);
 出生=new JTextField(10);
 group=new ButtonGroup();
 男=new JRadioButton("男");
 女=new JRadioButton("女");
 group.add(男);
 group.add(女);
 录入=new JButton("录入");
 查询=new JButton("查询");
 删除=new JButton("删除");
 修改=new JButton("修改");
 显示=new JButton("显示");
 修改.setEnabled(false); 

 //添加输入框及文本框
 p1=new JPanel();
 p1.add(new JLabel("学号:",JLabel.CENTER));
 p1.add(学号);
 p2=new JPanel();
 p2.add(new JLabel("姓名:",JLabel.CENTER));
 p2.add(姓名);
 p3=new JPanel();
 p3.add(new JLabel("性别:",JLabel.CENTER));
 p3.add(男);
 p3.add(女);
 p4=new JPanel();
 p4.add(new JLabel("专业:",JLabel.CENTER));
 p4.add(专业);
 p5=new JPanel();
 p5.add(new JLabel("年级:",JLabel.CENTER));
 p5.add(年级);
 p6=new JPanel();
 p6.add(new JLabel("出生:",JLabel.CENTER));
 p6.add(出生);
 pv=new JPanel();
 pv.setLayout(new GridLayout(6,1));
 pv.add(p1);
 pv.add(p2);
 pv.add(p3);
 pv.add(p4);
 pv.add(p5);
 pv.add(p6);
 ph=new JPanel();
 ph.add(录入);
 ph.add(查询);
 ph.add(修改);
 ph.add(删除);
 ph.add(显示);
 frame.add(lb);
 frame.add(ph);
 frame.add(p1);
 frame.add(p2);
 frame.add(p3);
 frame.add(p4);
 frame.add(p5);
 frame.add(p6);
 frame.add(pv);
 frame.add(ph); 

 class MyListener implements ActionListener {
  public void actionPerformed (ActionEvent e) { 

   //判断选中是男是女
    /*if(e.getSource().equals(男)){
     if(男.isSelected()) {
      System.out.println("男被选中了");
     } else {
      System.out.println("男被取消选中了");
     }
    } 

    if(e.getSource().equals(女)){
     if(女.isSelected()) {
      System.out.println("女被选中了");
     } else {
      System.out.println("女被取消选中了");
     }
    }*/ 

   //录入 的功能
   if(e.getActionCommand() == "录入") { 

    String text1 = 学号.getText().trim();
    String text2 = 姓名.getText();
    String text3 = 专业.getText();
    String text4 = 年级.getText();
    String text5 = 出生.getText();
    String text6 = null;
    String text7 = "- - - - -我是分割线 - - - - -";
    if(男.isSelected()) {
     text6 = "男";
    } 

    if(女.isSelected()) {
     text6 = "女";
    } 

    //用texts包含此次所有录入信息
    String texts = "\n\n学号:" + text1 + "\n\n" + "姓名:" + text2 + "\n\n" + "专业:" + text3 + "\n\n" + "年级:" + text4 + "\n\n" + "出生:" + text5 + "\n\n" + "性别:" + text6 + "\n\n" ; 

    //显示框
    int m = JOptionPane.showConfirmDialog(null, "是否录入该条记录:" + texts , "录入" , JOptionPane.YES_NO_OPTION);//n = 1/0;
    if(m==0) {
     insert_Student(text1,text2,text3,text4,text5); 

    } else {
     JOptionPane.showMessageDialog(null, "已取消该次录入!!");
    }
   } 

   //显示 的功能
   if(e.getActionCommand() == "显示") { 

    int n = JOptionPane.showConfirmDialog(null, "是否显示所有记录" , "显示" , JOptionPane.YES_NO_OPTION);//n = 1/0; 

    if(n ==0 ) {
    try { 

     File file = new File("D:/file.txt");
     InputStreamReader reader = new InputStreamReader(
       new FileInputStream(file));//创建一个输入流对象 

     BufferedReader bufferReader = new BufferedReader(reader); 

     String line = "";
     String lines = null;
     line = bufferReader.readLine();
     while(line != null) { 

      System.out.println(line);
      if(lines != null) {
      lines = lines + "\n" + line + "\n";
      } else {
       lines = line + "\n" ;
      }
      line = bufferReader.readLine();
     }
     //JOptionPane.showMessageDialog(null, lines , "显示",JOptionPane.INFORMATION_MESSAGE); 

    } catch (Exception e1) {
     e1.printStackTrace();
    }
    } else {
     JOptionPane.showMessageDialog(null, "已取消该次查询");
    } 

   } 

   //查询 的功能
   if(e.getActionCommand() == "查询") {
    File file = new File("D:/file.txt");
    BufferedReader reader = null;
    String text7 = "- - - - -我是分割线 - - - - -";
    try { 

     //InputStreamReader reader = new InputStreamReader(
      // new FileInputStream(file));//创建一个输入流对象 

      reader = new BufferedReader(new FileReader(file)); 

     //暂时仅允许查询学号
     String text1 = 学号.getText();
     int n = JOptionPane.showConfirmDialog(null, "查询的学号为:" + text1 , "查询" , JOptionPane.YES_NO_OPTION);//n = 1/0;
     if(n == 0){
     String line = null;
     String lines = null; 

     while((line = reader.readLine())!= null) {
       if(line.equals(text1)) {
       System.out.println(line);
       while(!(line.equals(text7))){
        line = reader.readLine();
        if(lines == null) {
         lines = line + "\n";
        } else {
         lines = lines + line + "\n";
        }
       System.out.println(line);
       } 

       } else {
        continue;
       } 

     }
     JOptionPane.showMessageDialog(null, lines , "查询",JOptionPane.INFORMATION_MESSAGE);
     reader.close();
     } else {
      JOptionPane.showMessageDialog(null, "已取消查询功能");
     }
    } catch (Exception e1) {
     e1.printStackTrace();
    } finally {
     if(reader != null) {
      try {
       reader.close();
      }catch (IOException e1){ 

      }
     }
    }
   } 

   //删除 的功能
   if(e.getActionCommand() == "删除") {
    String text1 = 学号.getText().trim();
    delete_Student(text1);
   } 

  }
 } 

 //------------注册监听------------- 

 MyListener listener = new MyListener();
 MyListener listen = new MyListener();
 显示.addActionListener(listener);
 录入.addActionListener(listener);
 查询.addActionListener(listener);
 删除.addActionListener(listener);
 男.addActionListener(listen);
 女.addActionListener(listen);
 frame.setVisible(true);
 } 

 /*
  * ---------------------- 功能函数 ---------------------
 */  

 //获取所有的数据
 //
 public static void getAllMessage(){
 try {
  //添加JDBC驱动
  Class.forName("com.mysql.jdbc.Driver");
  String url = "jdbc:mysql://localhost/test";
  String user = "root";
  String password = "root";
  Connection connect = DriverManager.getConnection(url,user,password);
  Statement stmt = connect.createStatement();
  System.out.println("success to connect "); 

  //读取所有的数据 

  String sql1 = "select * from StudentSystem";
  ResultSet rs = stmt.executeQuery(sql1);
  System.out.println("学号\t姓名\t专业\t年级\t出生");
  String lines = null;
  while(rs.next()) {
   System.out.print(rs.getString(1)+ "\t");
   System.out.print(rs.getString(2)+ "\t");
   System.out.print(rs.getString(3)+ "\t");
   System.out.print(rs.getString(4)+ "\t");
   System.out.print(rs.getString(5)+ "\t");
   System.out.println();
   if(lines != null){
   lines = lines + "学号__姓名__专业__年级__出生\n" + rs.getString(1)+ "  "+ rs.getString(2)+ "  "+ rs.getString(3)
     + " "+ rs.getString(4)+ "  "+ rs.getString(5)+ "   " + "\n\n";
   } else {
    lines ="数据库中所有数据:\n\n" + "学号__姓名__专业__年级__出生\n" + rs.getString(1)+ ""+ rs.getString(2)+ " "+ rs.getString(3)
      + "  "+ rs.getString(4)+ "   "+ rs.getString(5)+ " " + "\n";
   }
  }
  JOptionPane.showMessageDialog(null, lines , "显示",JOptionPane.INFORMATION_MESSAGE); 

 } catch (Exception e) {
  e.printStackTrace();
 } 

 } 

 /**
  * 插入功能
  */ 

  public static void insert_Student(String str1,String str2,String str3,String str4,String str5){
   try {
    //添加JDBC驱动
    Class.forName("com.mysql.jdbc.Driver");
    String url = "jdbc:mysql://localhost/test";
    String user = "root";
    String password = "root";
    //连接数据库
    Connection connect = DriverManager.getConnection(url,user,password);
    Statement stmt = connect.createStatement();
    System.out.println("success to connect ");     

    /**
     *
     */ 

    String lines = null;
    String sql = "select * from StudentSystem";//要执行的SQL
    String sql2 = "delete from StudentSystem where id =?";
    String sql3 = "insert into StudentSystem(id,name,study,grade,birthplace)VALUES(?,?,?,?,?)";//SQL命令 

    PreparedStatement pst = (PreparedStatement)connect.prepareStatement(sql3);
    pst = connect.prepareStatement(sql3); 

     pst.setNString(1,str1);//1,2,3,为对应上面的参数,切记!!!!!这里”12“传给了第一个问号代表的 ID
     pst.setString(2,str2);
     pst.setString(3,str3);
     pst.setString(4,str4);
     pst.setString(5,str5); 

    pst.executeUpdate();
    JOptionPane.showMessageDialog(null, "该次录入成功!!"); 

    ResultSet rs = stmt.executeQuery(sql);
    System.out.println("学号\t姓名\t专业\t年级\t出生");
    while(rs.next()) {
     System.out.print(rs.getString(1)+ "\t");
     System.out.print(rs.getString(2)+ "\t");
     System.out.print(rs.getString(3)+ "\t");
     System.out.print(rs.getString(4)+ "\t");
     System.out.print(rs.getString(5)+ "\t");
     System.out.println();
     if(lines != null){
     lines = lines + "学号__姓名__专业__年级__出生\n" + rs.getString(1)+ "  "+ rs.getString(2)+ "  "+ rs.getString(3)
       + " "+ rs.getString(4)+ "  "+ rs.getString(5)+ "   " + "\n\n";
     } else {
      lines ="数据库中所有数据:\n\n" + "学号__姓名__专业__年级__出生\n" + rs.getString(1)+ ""+ rs.getString(2)+ " "+ rs.getString(3)
        + "  "+ rs.getString(4)+ "   "+ rs.getString(5)+ " " + "\n";
     }
    } 

    JOptionPane.showMessageDialog(null, lines , "显示",JOptionPane.INFORMATION_MESSAGE);
   } catch (Exception e) {
    e.printStackTrace();
   } 

  } 

  /**
   * ------------删除功能------------
   */
  public static void delete_Student(String str){
   try {
    //添加JDBC驱动
    Class.forName("com.mysql.jdbc.Driver");
    String url = "jdbc:mysql://localhost/test";
    String user = "root";
    String password = "root";
    //连接数据库
    Connection connect = DriverManager.getConnection(url,user,password);
    Statement stmt = connect.createStatement();
    System.out.println("success to connect "); 

    //**
    String lines = null;
    String sql = "select * from StudentSystem";//要执行的SQL
    String sql2 = "delete from StudentSystem where id =?";
    PreparedStatement pst = (PreparedStatement)connect.prepareStatement(sql2);
    pst = connect.prepareStatement(sql2);
    pst.setString(1,str);
    pst.executeUpdate(); 

    JOptionPane.showMessageDialog(null, "已删除该条记录", "删除" ,JOptionPane.INFORMATION_MESSAGE); 

    ResultSet rs = stmt.executeQuery(sql);
    System.out.println("学号\t姓名\t专业\t年级\t出生");
    while(rs.next()) {
     System.out.print(rs.getString(1)+ "\t");
     System.out.print(rs.getString(2)+ "\t");
     System.out.print(rs.getString(3)+ "\t");
     System.out.print(rs.getString(4)+ "\t");
     System.out.print(rs.getString(5)+ "\t");
     System.out.println();
     if(lines != null){
     lines = lines + "学号__姓名__专业__年级__出生\n" + rs.getString(1)+ "  "+ rs.getString(2)+ "  "+ rs.getString(3)
       + " "+ rs.getString(4)+ "  "+ rs.getString(5)+ "   " + "\n\n";
     } else {
      lines ="数据库中所有数据:\n\n" + "学号__姓名__专业__年级__出生\n" + rs.getString(1)+ ""+ rs.getString(2)+ " "+ rs.getString(3)
        + "  "+ rs.getString(4)+ "   "+ rs.getString(5)+ " " + "\n";
     }
    } 

    JOptionPane.showMessageDialog(null, lines , "显示",JOptionPane.INFORMATION_MESSAGE); 

   } catch (Exception e) {
    e.printStackTrace();
   } 

  } 

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 简单实现Java版学生管理系统

    本文实例为大家分享了Java实现学生管理系统的具体代码,供大家参考,具体内容如下 package BookDemo_1; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Test { public static void main(String[] args) { StudentSys stuSys=new StudentSys("学生管理系统"); stuSys.initWi

  • Java+MySQL实现学生信息管理系统源码

    基于Java swing+MySQL实现学生信息管理系统:主要实现JDBC对学生信息进行增删改查,应付一般课设足矣,分享给大家.(由于篇幅原因,代码未全部列出,如有需要留下邮箱) 鉴于太多同学要源码,实在发不过来,上传到github上 https://github.com/ZhuangM/student.git 1. 开发环境:jdk7+MySQL5+win7 代码结构:model-dao-view 2. 数据库设计--建库建表语句: CREATE DATABASE student; DROP

  • Java+Mysql学生管理系统源码

    最近正在学java和数据库,想起以前写的学生管理系统,都是从网上下载,敷衍了事.闲来无事,也就自己写了一个,不过功能实现的不是很多. 开发语言:java: 开发环境:Mysql, java: 开发工具:eclipse 开发此案例,首先得在电脑上有java开发环境和Mysql, java开发环境与Mysql的搭建,就不再叙述了,如果需要,请联系我最下面的联系方式:dingyelf@aliyun.com 此次系统比较简易:数据库中只有一个表:stu;功能:能够对学生增加.删除.修改. 开发步骤:  

  • java(swing)+ mysql实现学生信息管理系统源码

    本文实例为大家分享了java实现学生信息管理系统源码,供大家参考,具体内容如下 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import

  • 学生信息管理系统java版

    本文为大家分享了java学生信息管理系统的源代码,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: *增加 int[] a=new int[9] *删除 *查找 *更改 */ import java.util.Scanner;//导入java输入流 import java.lang.*; import java.io.*; class Student { private static Student[] s=new Student[2]; int n=0; private Stri

  • 图书管理系统java版

    本文的目的就是通过图书管理系统掌握数据库编程技术,能正确连接数据库,能对数据库中信息进行查询.插入.删除.修改. 内容:在数据库中创建一张书目信息表,包括书名.作者.出版社.出版日期.书号.价格字段.设计一个GUI界面进行书目管理.在该界面上有四个选项卡,分别是查询.插入.删除.修改.点击查询选项卡,出现的界面上有书名.作者.出版社.书号四个文本框,一个按钮和一个只读文本区.文本框内容可以为空,输入相应的查询信息后(例如根据书名查询可以仅输入书名),点击界面上的"查询"按钮,可以在界面

  • java学生信息管理系统MVC架构详解

    本文实例为大家分享了java学生信息管理系统MVC架构,供大家参考,具体内容如下 一.项目结构 学生信息管理系统分三层进行实现.student.java主要提供数据,cotroller.java的功能是绑定试图和计算数据.Stuview.java用于单一的用来显示数据. 二.源码 1.1.Student 类 /* * @FileName: Student.class * @version:1.0 * @author:nazi * 描述:模型层 * */ import java.io.Serial

  • java学生信息管理系统设计

    本例的学生信息添加进入数据库的事务(可以提交事务,事务回滚,用本地线程完善) 主页面index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <htm

  • java学生信息管理系统设计(2)

    本例的学生信息添加进入数据库的事务(可以提交事务,事务回滚,用本地线程完善) 主页面index.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <htm

  • 一个简陋的java图书管理系统

    本文代码为原创一个简陋的管理系统,只做功能的测试.并没有去完善所有应有的功能,只做了输入输出查找,仅供参考! 菜单部分: import java.util.Scanner; public class Menu { int Min = 1; int Max = 3; public void getMenu(){ System.out.println("1.显示/2.输入/3.查找"); } public void getFindMenu(){ System.out.println(&qu

随机推荐