zoukankan      html  css  js  c++  java
  • JAVA入门到精通-第69讲-学生管理系统1.项目分析

    图形化建模:uml(统一建模语言)
    java<--->eclipse
    uml<--->rational rose
    uml<--->jude 可以开发uml,可以建模

    use case 用例图
    时序图
    类图
    use case用例图:
    它可以很清晰地描述该系统有什么角色和功能

    角色:
    人表示 一个角色,圆圈表示一个功能;

    把类图写出来,用逆向工程可以拿到代码;
    图可以生成代码,每一个图都有意义,背后有代码;
    但,很难满足需求;
    -------------------------------------------------------
    比较倾向于
    先设计界面(原型开发,【先搞定界面,再写代码】),
    再设计数据库;
    (界面搞定可以先给客户去看)

    功能很庞大,先把界面搞定,界面出来以后,
    数据库一配,
    中间业务逻辑一搭,项目出来了。
    ----------------------------------------------------

    2.设计数据库:

    3.设计界面(原型开发,先搞定界面,再写代码)PhotoShop
    网页设计师、界面设计师把界面画出来;
    (ps会的话,可以单独接活了)
    PhotoShop学学挺好;
    ---------------------------------
    -JTable的使用



    //rowData用来存放行数据
    //columnName用来存放列名
    Vector()是一个容器;
    一行数据,加入到rowData


    //初始化JTable



    -----------------------------------
    --从数据库中取出学生信息
    --建立数据库
    工具-对象浏览器,显示相关信息:
    spdb1-创建学生表
    check 达到双重加锁的目的;

    ---------------------------








    属性->路径->添加3个JAR包;

    new实例化:

    数据全部都从数据库中取出来了;

    ****************************************

    学生管理系统需求文档

    1、功能说明(使用use case图来说明 uml(统一建模语言))

     

    uml(统一建模语言)有两款较好的开发工具来做建模

    uml-->IBM-rational rose 20037.0

    uml-->jude

     

    uml可以做出这样几种图

    1use case--用例图(可以清晰的描述该系统有什么角色和功能)

    2、时序图

    3、类图

    2、设计界面(原型开发[先搞定界面,在写代码])

    3、设计数据库

    学生表(stus)

    字段名      类型            备注        是否为空字段    字段默认值

    stuId       varchar(30)     学生ID      not null

    stuName     nvarchar(50)    学生名字    not null

    stuSex      nchar(1)        性别        not null        default''

    stuAge      int             年龄        not null        default>1

    stuJg       nvarchar(20)    籍贯        not null

    stuDept     nvarchar(30)    所在系      not null


    -----------------------------------------------------------

    JTable讲解[JTable_test1.java]

    55
    55
     
    1
    /**
    2
     * JTable的使用
    3
     */
    4
    import javax.swing.*;
    5
    import java.util.*;
    6
    import java.sql.*;
    7
    import java.awt.*;
    8
    import java.awt.event.*;
    9
    public class JTable_Test1 extends JFrame{
    10
        //定义组件
    11
        //rowData用来存放行数据、columnNames存放列名
    12
        Vector rowData,columnNames;
    13
        JTable jt=null;
    14
        JScrollPane jsp=null;
    15
        public static void main(String[] args) {
    16
            JTable_Test1 sms=new JTable_Test1();
    17
        }
    18
        //构造函数
    19
        public JTable_Test1(){
    20
            columnNames=new Vector<>();
    21
            //设置列名
    22
            columnNames.add("学号");
    23
            columnNames.add("名字");
    24
            columnNames.add("性别");
    25
            columnNames.add("年龄");
    26
            columnNames.add("籍贯");
    27
            columnNames.add("系别");
    28
           
    29
            rowData=new Vector<>();
    30
            //rowData可以存放多行
    31
            Vector hang=new Vector<>();
    32
            hang.add("sp001");
    33
            hang.add("孙悟空");
    34
            hang.add("男");
    35
            hang.add("500");
    36
            hang.add("花果山");
    37
            hang.add("少林派");
    38
           
    39
            //加入rowData
    40
            rowData.add(hang);
    41
           
    42
            //初始化JTable
    43
            jt=new JTable(rowData,columnNames);
    44
           
    45
            //初始化jsp JScrollPane
    46
            jsp=new JScrollPane(jt);
    47
           
    48
            //把jsp放入到jframe
    49
            this.add(jsp);
    50
           
    51
            this.setSize(400, 300);
    52
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    53
            this.setVisible(true);
    54
        }
    55
    }

    ------------------------------------------------------------------


    JTable与数据库的使用[JTable_test2.java]

    x
    99
     
    1
    /**
    2
     * JTable的使用,从sql server数据库中取数据
    3
     */
    4
    import java.sql.Connection;
    5
    import java.sql.DriverManager;
    6
    import java.sql.PreparedStatement;
    7
    import java.sql.ResultSet;
    8
    import java.sql.SQLException;
    9
    import java.util.Vector;
    10
    import javax.swing.JFrame;
    11
    import javax.swing.JScrollPane;
    12
    import javax.swing.JTable;
    13
     
    14
    public class JTable_Test2 extends JFrame{
    15
        //定义组件
    16
        //rowData用来存放行数据、columnNames存放列名
    17
        Vector rowData,columnNames;
    18
        JTable jt=null;
    19
        JScrollPane jsp=null;
    20
        //定义操作数据库需要的组件
    21
        PreparedStatement ps=null;
    22
        Connection ct=null;
    23
        ResultSet rs=null;
    24
       
    25
        public static void main(String[] args) {
    26
            new JTable_Test2();
    27
        }
    28
       
    29
        public JTable_Test2(){
    30
            columnNames=new Vector<>();
    31
            //设置列名
    32
            columnNames.add("学号");
    33
            columnNames.add("名字");
    34
            columnNames.add("性别");
    35
            columnNames.add("年龄");
    36
            columnNames.add("籍贯");
    37
            columnNames.add("系别");
    38
           
    39
            rowData=new Vector<>();
    40
            //rowData可以存放多行
    41
            try {
    42
                //1、加载驱动
    43
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    44
                //2、得到连接
    45
            ct=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=stussystem;user=sa;password=sa;");
    46
                if(!ct.isClosed()){
    47
                    System.out.println("数据库连接成功");
    48
                }else{
    49
                    System.out.println("数据库连接失败");
    50
                }
    51
               
    52
                ps=ct.prepareStatement("select * from stu");
    53
                rs=ps.executeQuery();
    54
               
    55
                while(rs.next()){
    56
                    Vector hang=new Vector();
    57
                    hang.add(rs.getString(1));
    58
                    hang.add(rs.getString(2));
    59
                    hang.add(rs.getString(3));
    60
                    hang.add(rs.getInt(4));
    61
                    hang.add(rs.getString(5));
    62
                    hang.add(rs.getString(6));
    63
                    //加入rowData
    64
                    rowData.add(hang);
    65
                }
    66
            } catch (Exception e) {
    67
                e.printStackTrace();
    68
            }finally{
    69
                try {
    70
                    if(rs!=null){
    71
                        rs.close();
    72
                    }
    73
                    if(ps!=null){
    74
                        ps.close();
    75
                    }
    76
                    if(ct!=null){
    77
                        ct.close();
    78
                    }
    79
                } catch (SQLException e) {
    80
                    e.printStackTrace();
    81
                }
    82
            }
    83
           
    84
            //初始化JTable
    85
            jt=new JTable(rowData,columnNames);
    86
           
    87
            //初始化jsp JScrollPane
    88
            jsp=new JScrollPane(jt);
    89
           
    90
            //把jsp放入到jframe
    91
            this.add(jsp);
    92
           
    93
            this.setSize(400, 300);
    94
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    95
            this.setVisible(true);
    96
        }
    97
    }
    98
    99













  • 相关阅读:
    3.Appium运行时出现:Original error: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on your device
    3.Python连接数据库PyMySQL
    2.Python输入pip命令出现Unknown or unsupported command 'install'问题解决
    2.Linux下安装Jenkins
    5.JMeter测试mysql数据库
    Android 4学习(7):用户界面
    Android 4学习(6):概述
    Android 4学习(5):概述
    Android 4学习(4):概述
    Android 4学习(3):概述
  • 原文地址:https://www.cnblogs.com/xuxaut-558/p/10045799.html
Copyright © 2011-2022 走看看