zoukankan      html  css  js  c++  java
  • 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实现简单的数据库的增删查改,并布局交互界面

  • 相关阅读:
    个人网站第一期完成
    nodebb在阿里云主机部署过程
    mongoengine教程1
    quick cocos 的scheduler 定时器
    cocos2dx调度器scheduler
    Cocos2d-x中Vector使用
    Google分布式系统三驾马车: GFS,mapreduce,Bigtable
    Linux使用记
    Eclipse快捷键总结
    详解iOS App生命周期(转)
  • 原文地址:https://www.cnblogs.com/momoyan/p/9144172.html
Copyright © 2011-2022 走看看