超市管理系统.docx
- 文档编号:23658566
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:33
- 大小:649.03KB
超市管理系统.docx
《超市管理系统.docx》由会员分享,可在线阅读,更多相关《超市管理系统.docx(33页珍藏版)》请在冰豆网上搜索。
超市管理系统
面向对象程序设计(双语)设计报告
一、超市管理系统总体设计
1、系统概述
随着人们生活水平的不断提高,购物已成为一种时尚。
每天都有大量的消费者在各大商场中留下消费信息,所以作为商场的管理人员就需要有一个自动化、智能化的管理系统来完成这些信息的处理。
由此我们设计开发小超市管理系统。
目前市场上的超市管理系统,大部分为基于分布式数据库的网络管理系统,对于规模较小的超市没有必要花巨资来购买这样功能全面的管理系统,此外,对于那样功能齐全的管理系统也需要花大精力来维护。
基于这种情况,我们用所学的java知识,可以开发一种既能节约资金,又能完成小超市日常的管理任务。
本系统所包括的功能主要有:
限于不同身份的人登录的登录界面;权限管理功能;商品销售功能;商品管理功能;销售管理功能。
在系统的设计中,用户管理功能可以管理登录本系统的人员,如:
管理员、用户和超级用户等。
在最初的系统使用中只有技术管理员一种身份。
商品销售功能;可以完成商品信息的查询。
如:
输入一种商品的编号在商品信息栏就显示该商品的所有信息,名称、价格、生产日期、生产地。
然后选择购买功能,就可以将商品添加到购物信息栏,最后选择提交,所
购买的商品信息同时也添加到数据库中。
在商品管理功能中,可以把一种新引进的商品信息添加到小超市管理系统中。
在销售管理功能中,可以查看超市的销售情况,所有商品的购买信息都存储在数据库中。
在系统的安全性方面,我们规定了不同权限的登录用户,管理员(主要负责用户管理)可以登录到任何一个管理模块,以及后台的数据库,能够改变任一个登录者的用户名和密码。
用户只能进入到销售界面。
老板超级主要查看商品的销售情况和商品管理,他可以进入到商品销售管理查看商品的销售情况。
通过这样的权限限制就可以方便的控制系统的安全性。
总之,小超市管理系统是一个经济、实惠的应用软件,适合小规模的商店和超市。
操作难度小,易学易用。
2、实现功能
对商品进行录入与记录,员工的信息登记,顾客消费的信息记录,有关会员的积分情况、等各种的统计报表,另外还提供各类统计查询。
3、功能模块图
二、数据库设计
2、数据库连接程序
packagedb;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
importjavax.swing.JOptionPane;
publicclassMySqlConnnection{
//私有空构造方法,保证本类不能够被实例化。
privateMySqlConnnection(){
}
//获得数据库连接
publicstaticConnectiongetConnection(){
Connectionconn=null;
try{
//加载MySQLJDBC驱动程序名称
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//数据库连接参数。
StringserverName="localhost:
1433";//数据库主机名称
Stringmydatabase="学生信息管理";//数据库名称
Stringurl="jdbc:
sqlserver:
//"+serverName+";DatabaseName="+mydatabase;
Stringusername="sa";//MySql用户名
Stringpassword="123456";//MySql密码
conn=DriverManager.getConnection(url,username,password);//建立连接
}catch(ClassNotFoundExceptione){
e.printStackTrace();//[找]不到MySql驱动程序类时,打印异常
}catch(SQLExceptione){
e.printStackTrace();//获得数据库连接发生异常
}
returnconn;
}
//关闭数据库连接
publicstaticvoidcloseConnection(Connectionconn){
if(conn!
=null){//连接是否有效
try{
if(!
conn.isClosed()){//连接是否已关闭
conn.close();//关闭连接
}
}catch(SQLExceptionex1){
ex1.printStackTrace();
}
}
}
//测试连接类
publicstaticvoidmain(String[]args)throwsException{
Connectionconn=MySqlConnnection.getConnection();
Stringresult="";
if(conn==null){
result="获得数据库连接错误.";
}else{
result="正常获得数据库连接."+conn;
}
JOptionPane.showMessageDialog(null,result);
}
}
3、数据库表的添删改查(包括程序)
--创建管理员表
/*createtableAdmin
(adminIdintidentity(1,1),--自增1单位
adminNamechar(20)notnull,
adminPasswordchar(20)notnull,
primarykey(adminId)
)*/
/*--插入数据
INSERTINTOAdmin(adminName,adminPassword)VALUES('赵一','1')
INSERTINTOAdmin(adminName,adminPassword)VALUES('钱二','2')
INSERTINTOAdmin(adminName,adminPassword)VALUES('孙四','3')
select*fromAdmin*/
--删除数据
/*DELETEFROMAdminWHEREadminId=2;
SELECT*FROMAdmin*/
--修改数据
/*UPDATEAdminSETadminName='孙三'WHEREadminPassWord='3'
SELECT*FROMAdmin*/
}
3、图形界面设计与实现
登陆界面
表的操作界面
1)admin表
admin表添加
admin表修改
admin表删除
2)student表
student表添加
student表修改
student表删除
3)course表
course表添加
course表修改
course表删除
4)selecourse表
selecourse表添加
Selecourse表修改
Selecourse表删除
整个程序框架
4、程序测试
1.dbstudent
packagedb;
importjava.sql.Connection;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importmybean.student;
publicclassdbstudent{
privatedbstudent(){
}
publicstaticvoidaddstudent(studenta){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();//获得数据连接
PreparedStatementps=DBUtil
.getPreStatment(conn,
"INSERTINTOstudent(学号,姓名,性别,系别,专业,年级,班级号,家庭住址)VALUES(?
?
?
?
?
?
?
?
)");
ps.setString(1,a.getXuehao());//入库前进行编码转换
ps.setString(2,a.getXingming());//设置第2个占位符的内容
ps.setString(3,a.getXingbie());
ps.setString(4,a.getXibie());
ps.setString(5,a.getZhuanye());
ps.setString(6,a.getNianji());
ps.setString(7,a.getBanjihao());
ps.setString(8,a.getJiatingzhuzhi());
ps.executeUpdate();//执行更新操作
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
//删除管理员
publicstaticvoiddeletestudent(Stringxuehao){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();//获得数据连接
PreparedStatementps=DBUtil.getPreStatment(conn,
"DELETEFROMstudentWHERE学号=?
");
ps.setString(1,xuehao);//设置第1个占位符的内容
ps.executeUpdate();//执行更新操作
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
//修改管理员
publicstaticvoidupdatestudent(studenta){
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();
StringSql="UPDATEstudentSET姓名=?
性别=?
系别=?
专业=?
年级=?
班级号=?
家庭住址=?
WHERE学号=?
";
PreparedStatementps=conn.prepareStatement(Sql);
ps.setString(1,a.getXingming());//入库前进行编码转换
ps.setString(2,a.getXingbie());
ps.setString(3,a.getXibie());//设置第3个占位符的内容
ps.setString(4,a.getZhuanye());
ps.setString(5,a.getNianji());
ps.setString(6,a.getBanjihao());
ps.setString(7,a.getJiatingzhuzhi());
ps.setString(8,a.getXuehao());
ps.executeUpdate();//执行更新操作
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
}
/*
*publicstaticvoidmain(String[]args){students=newstudent();
*s.setZhuanye("jisuanji");s.setJiatingzhuzhi("bb");
*s.setXuehao("2013020332001");dbstudent.updatestudent(s);
*
*}
*
*}
*/
//根据管理员id号查询
publicstaticstudentgetstudent(Stringxuehao){
studenta=null;
Connectionconn=null;
try{
conn=MySqlConnnection.getConnection();//获得数据连接
//建立PreparedStatement用于执行SQL操作
PreparedStatementps=DBUtil.getPreStatment(conn,
"SELECT*FROMstudentWHERE学号=?
");
ps.setString(1,xuehao);//设置第一个占位符的内容
ResultSetrs=ps.executeQuery();//执行查询,返回结果集
if(rs.next()){//因为管理员id是惟一的,所以只返回一个结果既可
a=newstudent(rs.getString
(1),rs.getString
(2),
rs.getString(3),rs.getString(4),rs.getString(5),
rs.getString(6),rs.getString(7),rs.getString(8));
}
ps.close();
}catch(Exceptionex){
ex.printStackTrace();
}finally{
MySqlConnnection.closeConnection(conn);
}
returna;
}
publicstaticvoidmain(String[]args){
studenta=getstudent("2013020332001");
System.out.println(a.getXingming());
}
}
}
}
2.student
packagemybean;
publicclassstudent{
privateStringxuehao;
privateStringXingming;
privateStringXingbie;
privateStringXibie;
privateStringZhuanye;
privateStringNianji;
privateStringBanjihao;
privateStringJiatingzhuzhi;
publicstudent(Stringxuehao,Stringxingming,Stringxingbie,
Stringxibie,Stringzhuanye,Stringnianji,Stringbanjihao,
Stringjiatingzhuzhi){
super();
this.xuehao=xuehao;
Xingming=xingming;
Xingbie=xingbie;
Xibie=xibie;
Zhuanye=zhuanye;
Nianji=nianji;
Banjihao=banjihao;
Jiatingzhuzhi=jiatingzhuzhi;
}
publicstudent(){
super();
}
publicStringgetXuehao(){
returnxuehao;
}
publicvoidsetXuehao(Stringxuehao){
this.xuehao=xuehao;
}
publicStringgetXingming(){
returnXingming;
}
publicvoidsetXingming(Stringxingming){
Xingming=xingming;
}
publicStringgetXingbie(){
returnXingbie;
}
publicvoidsetXingbie(Stringxingbie){
Xingbie=xingbie;
}
publicStringgetXibie(){
returnXibie;
}
publicvoidsetXibie(Stringxibie){
Xibie=xibie;
}
publicStringgetZhuanye(){
returnZhuanye;
}
publicvoidsetZhuanye(Stringzhuanye){
Zhuanye=zhuanye;
}
publicStringgetNianji(){
returnNianji;
}
publicvoidsetNianji(Stringnianji){
Nianji=nianji;
}
publicStringgetBanjihao(){
returnBanjihao;
}
publicvoidsetBanjihao(Stringbanjihao){
Banjihao=banjihao;
}
publicStringgetJiatingzhuzhi(){
returnJiatingzhuzhi;
}
publicvoidsetJiatingzhuzhi(Stringjiatingzhuzhi){
Jiatingzhuzhi=jiatingzhuzhi;
}
}
3.Panelstudent
packagegui;
importjavax.swing.JFrame;
importjavax.swing.JOptionPane;
importdb.dbstudent;
importmybean.student;
@SuppressWarnings("serial")
publicclassPanelstudentextendsMyPanel{
publicPanelstudent(Stringdatabase,StringtableName){
super(database,tableName);
}
@Override
protectedvoiddealAddbtn(){
studenta1=newstudent();//改成你自己的bean
a1.setXuehao(fields[0].getText().trim());
a1.setXingming(fields[1].getText().trim());
a1.setXingbie(fields[2].getText().trim());
a1.setXibie(fields[3].getText().trim());
a1.setZhuanye(fields[4].getText().trim());
a1.setNianji(fields[5].getText().trim());
a1.setBanjihao(fields[6].getText().trim());
a1.setJiatingzhuzhi(fields[7].getText().trim());
dbstudent.addstudent(a1);
System.out.println(a1.getXuehao());
tableModel.setQuery("student");//查询数据库表Admin中的记录,显示在表格中,参数填入表名
super.dealAddbtn();
}
protectedvoiddealDelbtn(){
Stringxuehao=fields[0].getText().trim();
studenta1=dbstudent.getstudent(xuehao);
if(a1!
=null){
intk=JOptionPane.showConfirmDialog(null,"确认删除?
");
if(k==JOptionPane.YES_OPTION){
dbstudent.deletestudent(xuehao);//删除数据库表Admin中记录
JOptionPane.showMessageDialog(null,"删除成功!
");
}
else
JOptionPane.showMessageDialog(null,"没有删除!
");
}
else{
JOptionPane.showMessageDialog(null,"没有该记录");
}
tableModel.setQuery("student");//查询数据库表Admin中的记录,显示在表格中
}
//修改记录
protectedvoiddealUpdatebtn(){
Stringxuehao=fields[0].getText().
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 管理 系统