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