您的位置 首页 java

Java实现超市管理系统(含数据库)

★★★ 建议 星标 我们 ★★★

2020年 java 原创面试题库连载中

【000期】Java最全面试题库思维导图

【020期】JavaSE系列面试题汇总(共18篇)

【028期】JavaWeb系列面试题汇总(共10篇)

【042期】JavaEE系列面试题汇总(共13篇)

【049期】数据库系列面试题汇总(共6篇)

【053期】中间件系列面试题汇总(共3篇)

【065期】数据结构与算法面试题汇总(共11篇)

【076期】分布式面试题汇总(共10篇)

【077期】综合面试题系列(一)

【078期】综合面试题系列(二)

【079期】综合面试题系列(三)

【080期】综合面试题系列(四)

【081期】综合面试题系列(五)

【082期】综合面试题系列(六)

【083期】综合面试题系列(七)

【084期】综合面试题系列(八)

【085期】综合面试题系列(九)

【086期】综合面试题系列(十)

【087期】综合面试题系列(十一)

【088期】综合面试题系列(十二)

【089期】综合面试题系列(十三)

更多内容,点击上面蓝字查看

来源:

序言: 这次写的超市管理系统,实现的功能有账户的注册、登录,超市商品类别的添加、修改和删除以及商品的添加、修改和删除的功能。用户注册之后把注册信息导入数据库;用户登录时候查询用户表,方可登录进去;商品类别和商品的增加也如注册信息一样,把信息导入商品类别表和商品表。超市管理系统的一些功能还没有完善,后续还会更新顾客登录超市系统后,只能拥有查询商品的权限,并且还可以实现购买商品的功能。

1、首先是建立数据库表:

2、实现主页面:

3、实现用户注册:

核心代码:

 public static void main(String args[]) {   java.awt.EventQueue.invokeLater(new Runnable {   public void run {   new Register.setVisible(true);   }   });   }   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {   String name=this.jTextField1.getText;   String age=this.jTextField3.getText;   String QQ=this.jTextField4.getText;   String userName=this.jTextField5.getText;   String password1=this.jPasswordField1.getText;   String password2=this.jPasswordField2.getText;   if(StringUtil.isEmpty(name)){   JOptionPane.showMessageDialog(,"姓名不能为空");   return;   }   if(StringUtil.isEmpty(age)){   JOptionPane.showMessageDialog(,"年龄不能为空");   return;   }   if(StringUtil.isEmpty(QQ)){   JOptionPane.showMessageDialog(,"QQ不能为空");   return;   }   if(StringUtil.isEmpty(userName)){   JOptionPane.showMessageDialog(,"注册账号不能为空");   return;   }   if(StringUtil.isEmpty(password1)){   JOptionPane.showMessageDialog(,"注册密码不能为空");   return;   }   if(StringUtil.isEmpty(password2)){   JOptionPane.showMessageDialog(,"确认密码不能为空");   return;   }   if(!password1.equals(password2)){   JOptionPane.showMessageDialog(,"两个密码填写不一致");   return;   }   User user=new User(userName,password1);   Connection con=;   try{   con=dbUtil.getCon;   int n=userDao.add(con,user);   if(n==1){   JOptionPane.showMessageDialog(,"用户注册成功!");  
}else{ JOptionPane.showMessageDialog(,"注册失败!!"); } }catch (Exception e){ e.printStackTrace; JOptionPane.showMessageDialog(,"注册失败!!"); }finally { try{ dbUtil.closeCon(con); }catch (Exception e){ e.printStackTrace; }
} } //上一步 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { dispose; new HomePage.setVisible(true); }

注册成功之后可以返回上一步,重新登录

4、实现用户登录:

核心代码:

  //重置   private void resetValueActionPerformed(ActionEvent evt) {   this.userNameTxt.setText("");   this.passwordTxt.setText("");   }   //登录事件处理   private void loginActionPerformed(ActionEvent evt) {   String userName=this.userNameTxt.getText;   String password=new String(this.passwordTxt.getPassword);   if(StringUtil.isEmpty(userName)){   JOptionPane.showMessageDialog(,"用户名不能为空!");   return;   }   if(StringUtil.isEmpty(password)){   JOptionPane.showMessageDialog(,"密码不能为空");   return;   }   User usr=new User(userName,password);   Connection con=;   try{   con=dbUtil.getCon;   User currentUser=userDao.login(con,usr);   if(currentUser!=){   dispose;   new MainFrm.setVisible(true);  
}else{ JOptionPane.showMessageDialog(,"登录失败,用户名密码错误!"); } }catch (Exception e){ e.printStackTrace; }finally { try{ dbUtil.closeCon(con); }catch (Exception e){ e.printStackTrace; } }
}

接下来是商品类别和商品的实现,主要是在JFrame窗口中加入Inter窗口

5、主菜单之关于:

核心代码:

6、主菜单之商品类别管理:

核心代码:

  private void jButton1ActionPerformed(ActionEvent evt) {   String goodsTypeName=this.goodsTypeNameTxt.getText;   String goodsTypeDesc=this.goodsTypeDescTxt.getText;   if(StringUtil.isEmpty(goodsTypeName)){   JOptionPane.showMessageDialog(,"商品类别不能为空");   return;   }   GoodsType goodsType=new GoodsType(goodsTypeName,goodsTypeDesc);   Connection con=;   try{   con=dbUtil.getCon;   int n=goodsTypeDao.add(con,goodsType);   if(n==1){   JOptionPane.showMessageDialog(,"商品类别添加成功!");   jButton2ActionPerformed(evt);   }else{   JOptionPane.showMessageDialog(,"添加失败!!");   }   }catch (Exception e){   e.printStackTrace;   JOptionPane.showMessageDialog(,"添加失败!!");   }finally {   try{   dbUtil.closeCon(con);   }catch (Exception e){   e.printStackTrace;   }  
} } //重置
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { this.goodsTypeNameTxt.setText(""); this.goodsTypeDescTxt.setText(""); }
 //表格行点击事件   private void jTable1MousePressed(java.awt.event.MouseEvent evt) {   int row=jTable1.getSelectedRow;//获取行数   idTxt.setText((String)jTable1.getValueAt(row,0));   goodsTypeNameTxt.setText((String)jTable1.getValueAt(row,1));   goodsTypeDescTxt.setText((String)jTable1.getValueAt(row,2));  
} //鼠标单击后,删除 private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { String id=idTxt.getText; if(StringUtil.isEmpty(id)){ JOptionPane.showMessageDialog(,"请选择要删除的记录"); return; } int n=JOptionPane.showConfirmDialog(,"Are you 确定delete this记录?"); if(n==0){ Connection con=; try{ con=dbUtil.getCon; int deleteNum=goodsTypeDao.delect(con,id); //System.out.println(deleteNum); if(deleteNum==1){ JOptionPane.showMessageDialog(,"删除成功"); this.resetValue; this.fillTable(new GoodsType); }else{ JOptionPane.showMessageDialog(,"删除失败"); }
}catch (Exception e){ e.printStackTrace; }finally { try{ dbUtil.closeCon(con); }catch (Exception e){ e.printStackTrace; } } } } //鼠标单击后,修改 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { String id=idTxt.getText; String goodsTypeName=goodsTypeNameTxt.getText; String goodsTypeDesc=goodsTypeDescTxt.getText; if(StringUtil.isEmpty(id)){ JOptionPane.showMessageDialog(,"请选择要修改的记录"); return; } GoodsType goodsType=new GoodsType( Integer .parseInt(id),goodsTypeName,goodsTypeDesc); Connection con=; try{ con=dbUtil.getCon; int modifyNum=goodsTypeDao.update(con,goodsType); if(modifyNum==1){ JOptionPane.showMessageDialog(,"修改成功"); this.resetValue; this.fillTable(new GoodsType); }else{ JOptionPane.showMessageDialog(,"修改失败"); } }catch (Exception e){ e.printStackTrace; }finally { try{ dbUtil.closeCon(con); }catch (Exception e){ e.printStackTrace; } }

} //查询商品类型 private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String t_goodsTypeName=this.jTextField2.getText; GoodsType goodsType=new GoodsType; goodsType.setGoodsTypeName(t_goodsTypeName); this.fillTable(goodsType); } //插入商品类型 private void fillTable(GoodsType goodsType){ DefaultTableModel dtm=(DefaultTableModel)jTable1.getModel; dtm.setRowCount(0); Connection con=; try{ con=dbUtil.getCon; ResultSet rs=goodsTypeDao.list(con,goodsType); while(rs.next){ Vector v=new Vector; v.add(rs.getString("id")); v.add(rs.getString("goodsTypeName")); v.add(rs.getString("goodsTypeDesc")); dtm.addRow(v); } }catch (Exception e){ e.printStackTrace; }finally { try{ dbUtil.closeCon(con); }catch (Exception e){ e.printStackTrace; } } } //修改后重置 private void resetValue{ this.idTxt.setText(""); this.goodsTypeNameTxt.setText(""); this.goodsTypeDescTxt.setText(""); }

7、主菜单之商品管理:

核心代码:

 //查询   private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {   String t_goodsName=this.s_goodsNameTxt.getText;   Goods goods=new Goods;   goods.setGoodsName(t_goodsName);   this.fillTable(goods);   }   //下拉框   private void fillGoodsType(String type){   Connection con=;   GoodsType goodsType=;   try{   con=dbUtil.getCon;   ResultSet rs=goodsTypeDao.list(con,new GoodsType);   if("search".equals(type)){   goodsType=new GoodsType;   goodsType.setGoodsTypeName("请选择");   goodsType.setId(-1);   this.s_goodsJcb.addItem(goodsType);   }   while(rs.next){   goodsType=new GoodsType;   goodsType.setGoodsTypeName(rs.getString("goodsTypeName"));   goodsType.setId(rs.getInt("id"));   if("search".equals(type)){   this.s_goodsJcb.addItem(goodsType);   }else if("modify".equals(type)){  
} } }catch (Exception e){ e.printStackTrace; }finally { try{ dbUtil.closeCon(con); }catch (Exception e){ e.printStackTrace; }
} } //表 private void fillTable(Goods goods){ DefaultTableModel dtm=(DefaultTableModel) jTable1.getModel; dtm.setRowCount(0); Connection con=; try{ con=dbUtil.getCon; ResultSet rs=goodsDao.list(con,goods); while(rs.next){ Vector v=new Vector; v.add(rs.getInt("id")); v.add(rs.getString("goodsName")); v.add(rs.getFloat("price")); v.add(rs.getString("goodsDesc")); dtm.addRow(v); }
}catch (Exception e){ e.printStackTrace; }finally { try{ dbUtil.closeCon(con); }catch (Exception e){ e.printStackTrace; } } } //鼠标点击表格事件 private void jTable1MousePressed(java.awt.event.MouseEvent evt) { int row=jTable1.getSelectedRow; this.idTxt.setText((Integer)jTable1.getValueAt(row,0)+""); this.goodsNameTxt.setText((String)jTable1.getValueAt(row,1)); this.priceTxt.setText((Float)jTable1.getValueAt(row,2)+""); this.goodsDescTxt.setText((String)jTable1.getValueAt(row,3));
} //鼠标单击后,修改 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { String id=this.idTxt.getText; if(StringUtil.isEmpty(id)){ JOptionPane.showMessageDialog(,"请选择要修改的记录"); return; } String goodsName=this.goodsNameTxt.getText; String price=this.priceTxt.getText; String goodsDesc=this.goodsDescTxt.getText; if(StringUtil.isEmpty(goodsName)){ JOptionPane.showMessageDialog(,"商品名称不能为空"); return; } if(StringUtil.isEmpty(price)){ JOptionPane.showMessageDialog(,"商品价钱不能为空"); return; } if(StringUtil.isEmpty(goodsDesc)){ JOptionPane.showMessageDialog(,"商品描述不能为空"); return; } Goods goods=new Goods(Integer.parseInt(id),goodsName, Float.parseFloat(price),goodsDesc); Connection con=; try{ con=dbUtil.getCon; int modifyNum=goodsDao.update(con,goods); if(modifyNum==1){ JOptionPane.showMessageDialog(,"修改成功"); this.resetValue; this.fillTable(new Goods); }else{ JOptionPane.showMessageDialog(,"修改失败"); } }catch (Exception e){ e.printStackTrace; }finally { try{ dbUtil.closeCon(con); }catch (Exception e){ e.printStackTrace; } }
} //鼠标单击后删除 private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { String id=idTxt.getText; if(StringUtil.isEmpty(id)){ JOptionPane.showMessageDialog(,"请选择要删除的记录"); return; } int n=JOptionPane.showConfirmDialog(,"Are you 确定delete this记录?"); if(n==0){ Connection con=; try{ con=dbUtil.getCon; int deleteNum=goodsDao.delete(con,id); if(deleteNum==1){ JOptionPane.showMessageDialog(,"删除成功"); this.resetValue; this.fillTable(new Goods); }else{ JOptionPane.showMessageDialog(,"删除失败"); }
}catch (Exception e){ e.printStackTrace; }finally { try{ dbUtil.closeCon(con); }catch (Exception e){ e.printStackTrace; } } } } //修改后重置 private void resetValue{ this.idTxt.setText(""); this.goodsNameTxt.setText(""); this.goodsDescTxt.setText(""); }
 private void jButton2ActionPerformed(ActionEvent evt) {   this.resetValue;   }   //商品添加   private void jButton1ActionPerformed(ActionEvent evt){   String goodsName=this.goodsNameTxt.getText;   String price=this.priceTxt.getText;   String goodsDesc=this.goodsDecTxt.getText;   if(StringUtil.isEmpty(goodsName)){   JOptionPane.showMessageDialog(,"商品类别名称不能为空");   return;   }   if(StringUtil.isEmpty(price)){   JOptionPane.showMessageDialog(,"商品价格不能为空");   return;   }   GoodsType goodsType=(GoodsType)goodsTypeJcb.getSelectedItem;   int goodsTypeId=goodsType.getId;   Goods goods=new Goods(goodsName,Float.parseFloat(price),goodsDesc);   Connection con=;   try{   con=dbUtil.getCon;   int addNum=goodsDao.add(con,goods);   if(addNum==1){   JOptionPane.showMessageDialog(,"商品添加成功");   resetValue;   }else{   JOptionPane.showMessageDialog(,"商品添加失败");   }   }catch (Exception e){   e.printStackTrace;   JOptionPane.showMessageDialog(,"商品添加失败");   }finally {   try{   dbUtil.closeCon(con);   }catch (Exception e){   e.printStackTrace;   }   }  
}
/** * 重置表单 */ private void resetValue{ this.goodsNameTxt.setText(""); this.priceTxt.setText(""); this.goodsDecTxt.setText(""); if(this.goodsTypeJcb.getItemCount>0){ this.goodsTypeJcb.setSelectedIndex(0);
} } //初始化商品类别下拉框 private void fillGoodsType{ Connection con=; GoodsType goodsType=; try{ con=dbUtil.getCon; ResultSet rs=goodsTypeDao.list(con,new GoodsType); while(rs.next){ goodsType=new GoodsType; goodsType.setId(rs.getInt("id")); goodsType.setGoodsTypeName(rs.getString("goodsTypeName")); this.goodsTypeJcb.addItem(goodsType); } }catch (Exception e){ e.printStackTrace; }finally {
} }

8、退出:

 

之前,给大家发过 三份Java 面试宝典,这次新增了一份,目前总共是 四份 面试宝典,相信在跳槽前一个月按照面试宝典准备准备,基本没大问题。

  • 《java面试宝典5.0》 (初中级)

  • 《350道Java面试题:整理自100+公司》 (中高级)

  • 《资深java面试宝典-视频版》 (资深)

  • 《Java[BAT]面试必备》 (资深)

分别适用于 初中级,中高级 资深 级工程师 的面试复习。

内容包含 java基础、javaweb、mysql性能优化、JVM、锁、百万并发、消息队列,高性能缓存、反射、Spring全家桶原理、微服务、Zookeeper、数据结构、限流熔断降级等等。

看到这里,证明有所收获

文章来源:智云一二三科技

文章标题:Java实现超市管理系统(含数据库)

文章地址:https://www.zhihuclub.com/184347.shtml

关于作者: 智云科技

热门文章

网站地图