一、系統簡介
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實現簡單的數據庫的增刪查改,並布局交互界面
