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(); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。