java實現簡單的數據庫的增刪查改,並布局交互界面


 
 

 

一、系統簡介

1.1、簡介 

本系統提供了學生信息管理中常見的基本功能,主要包括管理員。管理員的主要功能有對學生信息進行增加、刪除、修改、查找等操作,對信息進行管理,對信息進行修改、查找等操作。

二、功能設計

2.1  需求分析

   21世紀是信息化時代,信息化已更快捷更方便為目標來融入各行各業。學校也不例外。當前,我國的學校正在加緊實施信息化建設,其中學生信息管理是相對重要的 一部分。

目前,社會上信息管理系統發展飛快,各個企事業單位都引入了信息化管理軟件來管理自己日益增長的各種信息,學生信息管理系統也是有了很快的發展,商業化軟件也不少。但本程序功能簡介明了,功能較為齊全,而且操作簡單。

學生信息管理系統是一個教育單位不可缺少的一部分,它的內容對於學校的管理者來書及其重要,所以學生信息管理系統應該能夠為用戶提供充足的信息和查詢的快捷手段。

2.2 模塊詳細設計

1、學生信息管理模塊

學生信息管理模塊包括增加、刪除、修改、查詢、顯示全部等。具體的結構圖如圖所示。

學生信息管理模塊結構圖

三、數據庫設計

3.1數據庫設計圖

在數據庫學生中的一張數據表:s(學生信息表),下面定義每張表的字段名稱和數據類型。

(學生信息表)

字段名稱

數據類型

描述

姓名

char (20)

姓名

年齡

int(20)

年齡

性別

char(20)

性別

學號

char (20)

學號

專業

char (20)

專業

愛好

Char(20)

愛好

 

3.2源代碼: 

  1 package Bp;
  2 import java.awt.*;
  3 
  4 import javax.swing.*;
  5 
  6 import java.awt.event.ActionEvent;
  7 import java.awt.event.ActionListener;
  8 import java.awt.event.MouseEvent;
  9 import java.awt.event.MouseListener;
 10 import java.sql.Connection;
 11 import java.sql.DriverManager;
 12 import java.sql.ResultSet;
 13 import java.sql.SQLException;
 14 import java.sql.Statement;
 15 import java.util.logging.Level;
 16 import java.util.logging.Logger;
 17 
 18 import javax.swing.*;
 19 import javax.swing.event.MouseInputListener;
 20 
 21 public class B {
 22 
 23     public static void main(String[] args) {
 24         // TODO Auto-generated method stub
 25         // TODO Auto-generated method stub
 26          My_object1 my =new My_object1();
 27          
 28     }
 29 
 30 }
 31 class My_object1 extends JFrame{
 32     
 33     public JTextField j3;
 34     public JTextField j4;
 35     ImageIcon   img   =   null; 
 36     JPanel p;
 37     public My_object1(){
 38         
 39         img   =   new   ImageIcon( "C:\\用戶\\zhangye123\\圖片\\1569976476.jpg "); 
 40         
 41         setTitle("登錄");
 42         setSize(200,150);
 43     
 44         //、、JFrame j=new JFrame();
 45         JPanel p=new JPanel();
 46         LayoutManager icon = (LayoutManager) new ImageIcon("c:\\用戶\\zhangye123\\圖片\\1569976476.jpg"); 
 47 
 48         
 49         getContentPane().add(p);
 50         
 51         JLabel j1=new JLabel("密碼   ");
 52         JLabel j2=new JLabel("用戶名");
 53         JLabel j7=new JLabel(img);
 54          j3=new JTextField(10);
 55          j4=new JTextField(10);
 56         JButton j5=new JButton("確定");
 57         JButton j6=new JButton("取消");
 58         p.add(j7);
 59         p.add(j2);
 60         p.add(j3);
 61         p.add(j1);
 62         p.add(j4);
 63         p.add(j5);
 64         p.add(j6);
 65         j6.addActionListener(new ActionListener() {
 66             
 67             @Override
 68             public void actionPerformed(ActionEvent e) {
 69                 // TODO 自動生成的方法存根
 70                 if(e.getActionCommand().equals("取消")){
 71                     System.exit(0);
 72                 }
 73             }
 74         });
 75         // final String userName = "abc";
 76         //final String passwrod = "123";
 77 
 78          j5.addMouseListener(new Mouselen());
 79          setLocationRelativeTo(null);
 80         setVisible(true);
 81     }
 82      class  Mouselen implements MouseListener{
 83 
 84         @Override
 85         public void mouseClicked(MouseEvent e) {
 86             // TODO Auto-generated method stub
 87             if(!j3.getText().equals("123456"))
 88                 //System.out.println("用戶名錯誤");
 89                 JOptionPane.showMessageDialog(null, "賬號錯誤");
 90             if(!j4.getText().equals("789"))
 91             //System.out.println("密碼錯誤");
 92                 JOptionPane.showMessageDialog(null, "密碼錯誤");
 93             else     //System.out.println("輸入正確");
 94                 //JOptionPane.showMessageDialog(null, "登錄成功");
 95                 {
 96             //System.exit(0);
 97             new guanli();
 98                 }
 99         }
100 
101         @Override
102         public void mouseEntered(MouseEvent e) {
103             // TODO Auto-generated method stub
104             
105         }
106 
107         @Override
108         public void mouseExited(MouseEvent e) {
109             // TODO Auto-generated method stub
110             
111         }
112 
113         @Override
114         public void mousePressed(MouseEvent e) {
115             // TODO Auto-generated method stub
116             
117         }
118 
119         @Override
120         public void mouseReleased(MouseEvent e) {
121             // TODO Auto-generated method stub
122             
123         }
124 
125     
126     }
127           
128 }
129 class guanli extends JFrame{
130     JButton b1;
131     JButton b2;
132     public guanli(){
133         setSize(550,370);
134         Toolkit tk=getToolkit();
135         Dimension d1=tk.getScreenSize();
136         int w=(int)d1.getWidth();
137         int h=(int)d1.getHeight();
138         setLocation(w/2-550/2, h/2-370/2);
139         setVisible(true);
140         setTitle("信息管理系統");
141         //Image img1=tk.getImage("./src/jame/1-140326154313.jpg");
142                 //setIconImage(img1);
143                 ImageIcon img2 = new ImageIcon("./src/jame/13.jpg");          //相對路徑獲取圖片
144                 JLabel imgLabel = new JLabel(img2);                              //創建圖片標簽
145                 this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
146                 //為標簽設置為容器最底層;getLayeredPane()作用是為容器添加深度,允許組件互相重疊;Integer.MIN_VALUE最底層
147                 imgLabel.setBounds(0,0,img2.getIconWidth(), img2.getIconHeight());
148                 Container cp=getContentPane();                                     //獲取頂級容器
149                 ((JPanel)cp).setOpaque(false);                                     //設置透明以使底層背景圖片顯示
150                 cp.setLayout(null);            
151         
152         JLabel imgLable=new JLabel();
153             JLabel j2=new JLabel("***歡迎登陸學生管理系統***");
154             JLabel j1=new JLabel("~~請在左側選擇所做的操作~~");
155     JButton b1=new JButton("查詢");
156     JButton b2=new JButton("取消");
157     JButton b3=new JButton("修改");
158     JButton b4=new JButton("增添");
159     JButton b5=new JButton("刪除");
160     JTextArea t3=new JTextArea(150,150);
161       cp.add(j2);
162        j2.setBounds(220,110,190,25);
163         cp.add(j1);
164         j1.setBounds(220,150,190,25);
165     cp.add(b1);
166     b1.setBounds(0, 70, 90, 25);
167     cp.add(b2);
168     b2.setBounds(250, 250, 70, 25);
169     cp.add(b4);
170     b4.setBounds(0,110,90,25);
171     cp.add(b3);
172     b3.setBounds(0,150,90,25);
173     cp.add(b5);
174     b5.setBounds(0,190,90,25);
175     b2.addActionListener(new ActionListener() {
176         
177         @Override
178         public void actionPerformed(ActionEvent e) {
179             // TODO 自動生成的方法存根
180             if(e.getActionCommand().equals("取消")){
181                 System.exit(0);
182             }
183         }
184     });
185 b1.addActionListener(new ActionListener() {
186         
187         @Override
188         public void actionPerformed(ActionEvent e) {
189             // TODO 自動生成的方法存根
190             new chaxun();
191             
192         }
193     });
194 b3.addActionListener(new ActionListener() {
195     
196     @Override
197     public void actionPerformed(ActionEvent e) {
198         // TODO 自動生成的方法存根
199         new xiugai();
200         
201     }
202 });
203 b4.addActionListener(new ActionListener() {
204     
205     @Override
206     public void actionPerformed(ActionEvent e) {
207         // TODO 自動生成的方法存根
208         new zengtian();
209         
210     }
211 });
212 b5.addActionListener(new ActionListener() {
213     
214     @Override
215     public void actionPerformed(ActionEvent e) {
216         // TODO 自動生成的方法存根
217         new shanchu();
218         
219     }
220 });
221      }
222 }
223 
224 class chaxun extends JFrame{
225     TextField t1;
226     TextField t2;
227 
228     public chaxun(){
229         setTitle("查詢");
230         setSize(550, 370);
231         JPanel p1=new JPanel();
232         //getContentPane().add(p1);
233         JLabel j1=new JLabel("學號:  " );
234         JLabel j2=new JLabel("姓名:  ");
235         JLabel j3=new JLabel("專業:  ");
236         TextField t1=new TextField(70);
237         TextField t2=new TextField(70);
238         TextField t3=new TextField(70);
239         JButton b=new JButton("查詢");
240         JButton b1=new JButton("取消");
241          ImageIcon img2 = new ImageIcon("./src/1-140326154313.jpg");          //相對路徑獲取圖片
242             JLabel imgLabel = new JLabel(img2);                              //創建圖片標簽
243             this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
244             //為標簽設置為容器最底層;getLayeredPane()作用是為容器添加深度,允許組件互相重疊;Integer.MIN_VALUE最底層
245             imgLabel.setBounds(0,0,img2.getIconWidth(), img2.getIconHeight());
246             Container p11=getContentPane();                                     //獲取頂級容器
247             ((JPanel)p11).setOpaque(false);                                     //設置透明以使底層背景圖片顯示
248         p11.setLayout(null);            
249         p11.add(j2);
250         j2.setBounds(50, 70, 70, 25);
251         p11.add(t1);
252         t1.setBounds(150, 70,100, 20);
253         p11.add(j1);
254         j1.setBounds(50, 150, 70, 25);
255         p11.add(t2);
256         t2.setBounds(150,150,100, 20);
257         p11.add(j3);
258         j3.setBounds(50,230,70, 25);
259         p11.add(t3);
260         t3.setBounds(150, 230,100, 20);
261         p11.add(b);
262         b.setBounds(400,140,90,25);
263         p11.add(b1);
264         b1.setBounds(400,170,90,25);
265         setLocationRelativeTo(null);
266         setVisible(true);
267          final String url = "jdbc:mysql://localhost:3306/test";
268         b1.addActionListener(new ActionListener() {
269             
270             @Override
271             public void actionPerformed(ActionEvent e) {
272                 // TODO 自動生成的方法存根
273                 if(e.getActionCommand().equals("取消")){
274                     System.exit(0);
275                 }
276             }
277         });
278         b.addActionListener(new ActionListener() {
279             
280             @Override
281             public void actionPerformed(ActionEvent arg0) {
282                 // TODO Auto-generated method stub
283                 
284                         
285                         try (Connection conn = DriverManager.getConnection(url,"root","1234")) 
286                             {
287                                 Statement state = conn.createStatement();
288                                 ResultSet result = state.executeQuery("SELECT name FROM xuesheng");
289                                 
290                              
291                             } catch (SQLException ex) {
292                                 
293                            ex.getSQLState();
294                         }
295             }
296         });
297     }
298 }
299 
300 class xiugai extends JFrame{
301     public xiugai(){
302         setTitle("修改");
303         setSize(550, 370);
304         JPanel p1=new JPanel();
305         getContentPane().add(p1);
306         setLocationRelativeTo(null);
307         setVisible(true);
308         
309     }
310 }
311 
312 class zengtian extends JFrame{
313     public zengtian(){
314         setTitle("增添");
315         setSize(550, 370);
316         JPanel p1=new JPanel();
317         getContentPane().add(p1);
318         setLocationRelativeTo(null);
319         setVisible(true);
320     }
321 }
322 
323 class shanchu extends JFrame{
324     public shanchu(){
325         setTitle("刪除");
326         setSize(550, 370);
327         JPanel p1=new JPanel();
328         getContentPane().add(p1);
329         setLocationRelativeTo(null);
330         setVisible(true);
331     }
332 }

 

四、程序運行結果及分析

  4.1程序運行圖

         

此文鏈接:http://makaidong.com/zhuzhu520/11674_156814.html

 

轉載請注明出處:java實現簡單的數據庫的增刪查改,並布局交互界面


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM