Java数据库包裹详单管理系统.docx
《Java数据库包裹详单管理系统.docx》由会员分享,可在线阅读,更多相关《Java数据库包裹详单管理系统.docx(23页珍藏版)》请在冰豆网上搜索。
![Java数据库包裹详单管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/25/f17e0144-e176-4186-8531-9cd1da9f5715/f17e0144-e176-4186-8531-9cd1da9f57151.gif)
Java数据库包裹详单管理系统
包裹详单管理系统
目录
一、需求分析3
1.功能需求3
2.可用性需求3
3.实体信息4
3.1.寄件人信息4
3.2.收件人信息5
3.3.包裹信息6
3.4.收货信息6
3.5.发货信息7
二、概要设计8
1.包裹发货系统E-R图8
2.包裹实体属性图10
3.收件人实体属性图11
4.寄件人实体属性图12
5.“收货”联系的属性图12
6.“发货”的实体属性图14
三、详细设计14
1.数据库关系模式14
2.数据库及表结构的创建15
3.源代码17
4.参考文献26
一、需求分析
1.功能需求
包裹详单系统业务主要包括查询、增加、删除功能。
(1)查询:
分为查询寄件人信息、查询收件人信息、查询包裹信息、查询发货信息、查询收货信息。
(2)增加:
分为增加寄件人信息、增加收件人信息、增加包裹信息、增加发货信息、增加收货信息。
(3)删除:
分为删除寄件人信息、删除收件人信息、删除包裹信息、删除发货信息、删除收货信息。
2.可用性需求
该包裹详单管理系统要具有功能操作简单,便于操作等特点。
3.实体信息
3.1.寄件人信息
3.2.收件人信息
3.3.包裹信息
3.4.收货信息
3.5.发货信息
二、概要设计
在充分需求分析的基础上,经过逐步抽象,概括,分析,充分研讨,可以画出如下反映包裹发货管理系统数据的整体E-R图.
1.包裹发货系统E-R图
寄件人
三、详细设计
1.数据库关系模式
按照实体-联系图转化为关系模式的规则,本系统的E-R图可转化为如下有5个关系模式:
寄件人(寄件人编号,寄件人姓名,寄件人地址,寄件人电话,寄件人邮编)
收件人(收件人编号,收件人姓名,收件人地址,收件人电话,收件人邮编)
包裹(包裹编号,寄件人编号,包裹种类,包裹名,包裹重量,包裹价格,内置物数量)
收货(收货编号,寄件人编号,包裹编号,收货日期,内置物数量)
发货(发货编号,接收人编号,包裹编号,发货日期,内置物数量)
2.数据库及表结构的创建
打开MySQL,新建表,根据已设计的关系模式及各模式的完整性要求,建立数据库和表结构。
(1)建立sender表寄件人信息表
列名
数据类型
长度
允许空
主键
Sender
varchar
255
否
1
Sname
char
50
否
Saddress
char
50
否
Sphone
char
20
否
Spostcode
char
10
否
(2)建立receive表收件人信息表
列名
数据类型
长度
允许空
主键
Receive
varchar
255
否
1
Rname
char
50
否
Raddress
char
50
否
Rphone
char
20
否
Rpostcade
char
10
否
(3)建立package表包裹信息表
列名
数据类型
长度
允许空
主键
PackageID
varchar
255
否
1
SenderID
varchar
255
否
1
Pkind
char
50
是
Pname
char
50
否
Pweight
double
5
是
Pprice
double
5
是
PNum
int
5
是
(4)建立getin表收货信息表
列名
数据类型
长度
允许空
主键
GetID
varchar
255
否
1
SenderID
varchar
255
否
1
PackageID
varchar
255
否
1
GDate
char
20
否
PNum
int
5
是
(5)建立out表发货信息表
列名
数据类型
长度
允许空
主键
OutID
varchar
255
否
1
ReceiveID
varchar
255
否
1
PackageID
varchar
255
否
1
SDate
char
20
否
PNum
int
5
是
3.源代码
packagetemp;
importjava.sql.DriverManager;
importjava.sql.Connection;
importjava.sql.ResultSet;
importjava.sql.Statement;
importjava.sql.SQLException;
importjava.util.Scanner;
importjava.io.*;
publicclassPackage{
publicstaticfinalStringDBDRIVER="org.gjt.mm.mysql.Driver";
publicstaticfinalStringDBURL="jdbc:
mysql:
//localhost:
3306/test";
publicstaticfinalStringDBUSER="user_name";
publicstaticfinalStringDBPASS="user_password";
publicstaticConnectionconn=null;
publicvoidFindreceive()throwsException{
Stringsql1="select*fromreceive";
Class.forName("com.mysql.jdbc.Driver");//驱动程序
conn=DriverManager.getConnection(DBURL,"root","8023");
Statementstmt=conn.createStatement();
ResultSetrs1=stmt.executeQuery(sql1);
while(rs1.next()){
Stringrece=rs1.getString("ReceiveID");
Stringrname=rs1.getString("Rname");
Stringradd=rs1.getString("Raddress");
Stringrpost=rs1.getString("Rpostcode");
Stringrph=rs1.getString("Rphone");
System.out.println("收件人编号:
"+rece+"收件人名字:
"+rname+"收件人地址:
"+radd+"收件人电话:
"+rph+"收件人邮编:
"+rpost);
}
}
publicvoidFindsender()throwsException{
Stringsql2="select*fromsender";
conn=DriverManager.getConnection(DBURL,"root","8023");
Statementstmt=conn.createStatement();
ResultSetrs2=stmt.executeQuery(sql2);
while(rs2.next()){
Stringsend=rs2.getString("SenderID");
Stringsname=rs2.getString("Sname");
Stringsadd=rs2.getString("Saddress");
Stringspost=rs2.getString("Spostcode");
Stringsph=rs2.getString("Sphone");
System.out.println("寄件人编号:
"+send+"寄件人名字:
"+sname+"寄件人地址:
"+sadd+"寄件人电话:
"+sph+"寄件人邮编:
"+spost);
}
}
publicvoidFindpackage()throwsException{
Stringsql3="select*frompackage";
conn=DriverManager.getConnection(DBURL,"root","8023");
Statementstmt=conn.createStatement();
ResultSetrs3=stmt.executeQuery(sql3);
while(rs3.next()){
Stringpack=rs3.getString("PackageID");
Stringkind=rs3.getString("Pkind");
Stringpname=rs3.getString("Pname");
Stringwei=rs3.getString("Pweight");
Stringpri=rs3.getString("Pprice");
Stringnum=rs3.getString("PNum");
Stringsend=rs3.getString("SenderID");
System.out.println("包裹编号:
"+pack+"包裹种类:
"+kind+"包裹名称:
"+pname+"包裹重量:
"+wei+"包裹价格:
"+pri+"包裹内置物数量:
"+num+"寄件人编号"+send);
}
}
publicvoidFindgetin()throwsException{
Stringsql4="select*fromgetin";
conn=DriverManager.getConnection(DBURL,"root","8023");
Statementstmt=conn.createStatement();
ResultSetrs4=stmt.executeQuery(sql4);
while(rs4.next()){
Stringget=rs4.getString("GetID");
Stringsend=rs4.getString("SenderID");
Stringpack=rs4.getString("PackageID");
Stringdateg=rs4.getString("GDate");
Stringnum=rs4.getString("PNum");
System.out.println("收件编号"+get+"包裹编号="+pack+"寄件人编号="+send+"收件时间="+dateg+"内置物数量="+num);
}
}
publicvoidFindouts()throwsException{
Stringsql5="select*fromouts";
conn=DriverManager.getConnection(DBURL,"root","8023");
Statementstmt=conn.createStatement();
ResultSetrs5=stmt.executeQuery(sql5);
while(rs5.next()){
Stringout=rs5.getString("OutID");
Stringpack=rs5.getString("PackageID");
Stringrece=rs5.getString("ReceiveID");
Stringdates=rs5.getString("SDate");
Stringnum=rs5.getString("PNum");
System.out.println("寄件编号"+out+"包裹编号="+pack+"收件人编号="+rece+"寄件时间="+dates+"内置物数量="+num);
}
}
publicvoidFind()throwsIOException,SQLException{
System.out.println("请输入查询事项:
");
System.out.println("1.查询收件人信息");
System.out.println("2.查询寄件人信息");
System.out.println("3.查询包裹信息");
System.out.println("4.查询收件信息");
System.out.println("5.查询发件信息");
System.out.println("请选择:
");
Scannerscan=newScanner(System.in);
scan.nextLine();
intc1;
c1=(int)System.in.read();
Packagetext1=newPackage();
try{
switch(c1){
case'1':
//查询收件人信息
text1.Findreceive();
break;
case'2':
//查询寄件人信息
text1.Findsender();
break;
case'3':
//查询包裹信息
text1.Findpackage();
break;
case'4':
//查询收件信息
text1.Findgetin();
break;
case'5':
//查询发货信息
text1.Findouts();
break;
default:
System.out.println("输入有误!
");
break;
}
}catch(Exceptione){
e.printStackTrace();
}
}
publicvoidAddreceive()throwsIOException,SQLException{
conn=DriverManager.getConnection(DBURL,"root","8023");
Statementstmt=conn.createStatement();
Stringsql1=null;
Stringrece,rname,radd,rph,rpost;
BufferedReaderin1=newBufferedReader(newInputStreamReader(System.in));
rece=in1.readLine();
System.out.println("输入收件人编号:
");
rece=in1.readLine();
System.out.println("输入收件人姓名:
");
rname=in1.readLine();
System.out.println("输入收件人地址:
");
radd=in1.readLine();
System.out.println("输入收件人电话:
");
rph=in1.readLine();
System.out.println("输入收件人邮编:
");
rpost=in1.readLine();
StringaddSql1="insertintoreceive(ReceiveID,Rname,Raddress,Rphone,Rpostcode)values('"+rece+"','"+rname+"','"+radd+"','"+rph+"','"+rpost+"')";//增加
stmt.executeUpdate(addSql1);
}
publicvoidAddsender()throwsIOException,SQLException{
conn=DriverManager.getConnection(DBURL,"root","8023");
Statementstmt=conn.createStatement();
Stringsql2=null;
Stringsend,sname,sadd,sph,spost;
BufferedReaderin2=newBufferedReader(newInputStreamReader(System.in));
send=in2.readLine();
System.out.println("输入寄件人编号:
");
send=in2.readLine();
System.out.println("输入寄件人姓名:
");
sname=in2.readLine();
System.out.println("输入寄件人地址:
");
sadd=in2.readLine();
System.out.println("输入寄件人电话:
");
sph=in2.readLine();
System.out.println("输入寄件人邮编:
");
spost=in2.readLine();
StringaddSql2="insertintosender(SenderID,Sname,Saddress,Sphone,Spostcode)values('"+send+"','"+sname+"','"+sadd+"','"+sph+"','"+spost+"')";//增加
stmt.executeUpdate(addSql2);
}
publicvoidAddpackage()throwsIOException,SQLException{
conn=DriverManager.getConnection(DBURL,"root","8023");
Statementstmt=conn.createStatement();
Stringsql3=null;
Stringpack,kind,pname,wei,pri,num,sendi;
BufferedReaderin3=newBufferedReader(newInputStreamReader(System.in));
pack=in3.readLine();
System.out.println("输入包裹编号:
");
pack=in3.readLine();
System.out.println("输入包裹种类:
");
kind=in3.readLine();
System.out.println("输入包裹名称:
");
pname=in3.readLine();
System.out.println("输入包裹重量:
");
wei=in3.readLine();
System.out.println("输入包裹价格:
");
pri=in3.readLine();
System.out.println("输入内置物数量:
");
num=in3.readLine();
System.out.println("输入寄件人编号:
");
sendi=in3.readLine();
StringaddSql3="insertintopackage(PackageID,Pkind,Pname,Pweight,Pprice,PNum,SenderID)values('"+pack+"','"+kind+"','"+pname+"','"+wei+"','"+pri+"','"+num+"','"+sendi+"')";//增加
stmt.executeUpdate(addSql3);
}
publicvoidAddgetin()throwsIOException,SQLException{
conn=DriverManager.getConnection(DBURL,"root","8023");
Statementstmt=conn.createStatement();
Stringsql4=null;
Stringout,packi,sdate,recei,pnum;
BufferedReaderin4=newBufferedReader(newInputStreamReader(System.in));
out=in4.readLine();
System.out.println("输入发件编码:
");
out=in4.readLine();
System.out.println("输入包裹编码:
");
packi=in4.readLine();
System.out.println("输入发件日期:
");
sdate=in4.readLine();
System.out.println("输入收件人编码:
");
recei=in4.readLine();
System.out.println("输入内置物数量:
");
pnum=in4.readLine();
StringaddSql4="insertintoouts(OutID,PackageID,SDate,ReceiveID,PNum)values('