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实现简单的数据库的增删查改,并布局交互界面

原文地址:https://www.cnblogs.com/momoyan/p/9144172.html