JAVA入门到精通-第69讲-学生管理系统1.项目分析
Posted 夏至稻花如白练,大暑池畔赏红莲
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA入门到精通-第69讲-学生管理系统1.项目分析相关的知识,希望对你有一定的参考价值。
![](https://image.cha138.com/20210524/b83e66471c894421b9302853465e8420.jpg)
![](https://image.cha138.com/20210524/b41f5e0660ae423688f0eb9810f33e23.jpg)
![](https://image.cha138.com/20210524/0b034885458c4740ace9b3f383fb7309.jpg)
![](https://image.cha138.com/20210524/10cddfbe98b44f46a1c4461c715aa9cb.jpg)
![](https://image.cha138.com/20210524/979438edf56446a4860e5593c48a9fea.jpg)
![](https://image.cha138.com/20210524/213c367f0b3a45249284889b54cd640b.jpg)
![](https://image.cha138.com/20210524/30d38d47de514026888652370be0b877.jpg)
![](https://image.cha138.com/20210524/b7fc10c8154b4a7e9aafbd8f94ff969a.jpg)
![](https://image.cha138.com/20210524/b41ec7a0eeb543ab8648c47af6b8d45e.jpg)
![](https://image.cha138.com/20210524/c97ac57af06b4bb596c510505ebd3bdc.jpg)
![](https://image.cha138.com/20210524/fb8efb8abc8546d39f36fe7e471b4eae.jpg)
![](https://image.cha138.com/20210524/ca1d67f70f15459c92e21b542144bd1e.jpg)
![](https://image.cha138.com/20210524/ceff7d300a9d463b95eca88c9cb20202.jpg)
![](https://image.cha138.com/20210524/65fa8bd8eeac48f7a2dfff9ca3154119.jpg)
![](https://image.cha138.com/20210524/57666d1203554e9ebf24c0556548b9f3.jpg)
![](https://image.cha138.com/20210524/8a840cb98560481387248a902881b37d.jpg)
![](https://image.cha138.com/20210524/09f404ceecfe437ca6d416b127e6a584.jpg)
![](https://image.cha138.com/20210524/887dcda61cc044bf861f776c190e1a0b.jpg)
![](https://image.cha138.com/20210524/d9efa02c88f44ca887400536617cd67b.jpg)
![](https://image.cha138.com/20210524/01eefb4ef15a42db8698acdf8acfeb0e.jpg)
![](https://image.cha138.com/20210524/f0d1130c803645b69f7b94880eee6e15.jpg)
![](https://image.cha138.com/20210524/ec871f67e85d44f5b83054f2fa4e1bbe.jpg)
学生管理系统需求文档
1、功能说明(使用use case图来说明 uml(统一建模语言))
uml(统一建模语言)有两款较好的开发工具来做建模
uml-->IBM-rational
rose 2003或7.0
uml-->jude
uml可以做出这样几种图
1、use case图--用例图(可以清晰的描述该系统有什么角色和功能)
2、时序图
3、类图
![](https://image.cha138.com/20210524/fab6680d98bd4d16ab9dac5595ed2379.jpg)
2、设计界面(原型开发[先搞定界面,在写代码])
![](https://image.cha138.com/20210524/778250e6133249deaff606184a796385.jpg)
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]
/**
* JTable的使用
*/
import javax.swing.*;
import java.util.*;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
public class JTable_Test1 extends JFrame{
//定义组件
//rowData用来存放行数据、columnNames存放列名
Vector rowData,columnNames;
JTable jt=null;
JScrollPane jsp=null;
public static void main(String[] args) {
JTable_Test1 sms=new JTable_Test1();
}
//构造函数
public JTable_Test1(){
columnNames=new Vector<>();
//设置列名
columnNames.add("学号");
columnNames.add("名字");
columnNames.add("性别");
columnNames.add("年龄");
columnNames.add("籍贯");
columnNames.add("系别");
rowData=new Vector<>();
//rowData可以存放多行
Vector hang=new Vector<>();
hang.add("sp001");
hang.add("孙悟空");
hang.add("男");
hang.add("500");
hang.add("花果山");
hang.add("少林派");
//加入rowData
rowData.add(hang);
//初始化JTable
jt=new JTable(rowData,columnNames);
//初始化jsp JScrollPane
jsp=new JScrollPane(jt);
//把jsp放入到jframe
this.add(jsp);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
------------------------------------------------------------------
JTable与数据库的使用[JTable_test2.java]
/**
* JTable的使用,从sql server数据库中取数据
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class JTable_Test2 extends JFrame{
//定义组件
//rowData用来存放行数据、columnNames存放列名
Vector rowData,columnNames;
JTable jt=null;
JScrollPane jsp=null;
//定义操作数据库需要的组件
PreparedStatement ps=null;
Connection ct=null;
ResultSet rs=null;
public static void main(String[] args) {
new JTable_Test2();
}
public JTable_Test2(){
columnNames=new Vector<>();
//设置列名
columnNames.add("学号");
columnNames.add("名字");
columnNames.add("性别");
columnNames.add("年龄");
columnNames.add("籍贯");
columnNames.add("系别");
rowData=new Vector<>();
//rowData可以存放多行
try {
//1、加载驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//2、得到连接
ct=DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;databaseName=stussystem;user=sa;password=sa;");
if(!ct.isClosed()){
System.out.println("数据库连接成功");
}else{
System.out.println("数据库连接失败");
}
ps=ct.prepareStatement("select * from stu");
rs=ps.executeQuery();
while(rs.next()){
Vector hang=new Vector();
hang.add(rs.getString(1));
hang.add(rs.getString(2));
hang.add(rs.getString(3));
hang.add(rs.getInt(4));
hang.add(rs.getString(5));
hang.add(rs.getString(6));
//加入rowData
rowData.add(hang);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(rs!=null){
rs.close();
}
if(ps!=null){
ps.close();
}
if(ct!=null){
ct.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
//初始化JTable
jt=new JTable(rowData,columnNames);
//初始化jsp JScrollPane
jsp=new JScrollPane(jt);
//把jsp放入到jframe
this.add(jsp);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
以上是关于JAVA入门到精通-第69讲-学生管理系统1.项目分析的主要内容,如果未能解决你的问题,请参考以下文章
JAVA入门到精通-第72讲-学生管理系统4-model 2模式