Java學生信息管理系統(tǒng)設計(數據庫版)
更新時間:2017年11月14日 11:42:47 作者:SHENGLI_509
這篇文章主要為大家詳細介紹了數據庫版的Java學生信息管理系統(tǒng)設計,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了數據庫版的Java學生信息管理系統(tǒng),供大家參考,具體內容如下
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("信息管理系統(tǒng)"); 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 專業(yè); 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); 專業(yè)=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("專業(yè):",JLabel.CENTER)); p4.add(專業(yè)); 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 = 專業(yè).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" + "專業(yè):" + 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));//創(chuàng)建一個輸入流對象 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));//創(chuàng)建一個輸入流對象 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); } } } //------------注冊監(jiān)聽------------- 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專業(yè)\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 + "學號__姓名__專業(yè)__年級__出生\n" + rs.getString(1)+ " "+ rs.getString(2)+ " "+ rs.getString(3) + " "+ rs.getString(4)+ " "+ rs.getString(5)+ " " + "\n\n"; } else { lines ="數據庫中所有數據:\n\n" + "學號__姓名__專業(yè)__年級__出生\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";//要執(zhí)行的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專業(yè)\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 + "學號__姓名__專業(yè)__年級__出生\n" + rs.getString(1)+ " "+ rs.getString(2)+ " "+ rs.getString(3) + " "+ rs.getString(4)+ " "+ rs.getString(5)+ " " + "\n\n"; } else { lines ="數據庫中所有數據:\n\n" + "學號__姓名__專業(yè)__年級__出生\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";//要執(zhí)行的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專業(yè)\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 + "學號__姓名__專業(yè)__年級__出生\n" + rs.getString(1)+ " "+ rs.getString(2)+ " "+ rs.getString(3) + " "+ rs.getString(4)+ " "+ rs.getString(5)+ " " + "\n\n"; } else { lines ="數據庫中所有數據:\n\n" + "學號__姓名__專業(yè)__年級__出生\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(); } } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
詳解基于Spring Cloud幾行配置完成單點登錄開發(fā)
這篇文章主要介紹了詳解基于Spring Cloud幾行配置完成單點登錄開發(fā),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02spring?cloud?eureka?服務啟動失敗的原因分析及解決方法
這篇文章主要介紹了spring?cloud?eureka?服務啟動失敗的原因解析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03解決@ServerEndpoint不能注入@Autowired的問題
這篇文章主要介紹了解決@ServerEndpoint不能注入@Autowired的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05