基于javaswing+mysql的超市商品管理系统设计和实现(代码片段)

java李阳勇 java李阳勇     2022-12-22     769

关键词:

 

前言:

    本项目是使用Java swing开发,可实现超市管理系统商品列表信息查询、添加商品信息和修改商品管理以及删除商品信息和安装商品信息查询等功能。界面设计和功能比较简单基础、适合作为Java课设设计以及学习技术使用。

摘要:

      随着小超市规模的发展不断扩大, 商品数量急剧增加, 有关商品的各种信息量也成倍增长。 超市时时刻刻都需要对商品各种信息进行统计分析。 而大型的超市管理系统功能过于强大而造成操作繁琐降低了小超市的工作效率。 超市管理系统是市场上最流行的超市上常用的系统之一, 由于刚学Java知识、所有功能设计的比较简单、只有商品信息的增删改查。实现对商品信息全面、 动态、及时的管理。本文系统的分析了软件开发的背景以过程;首先介绍了软件的开发环境, 其次介绍了本软件的详细设计过程: 数据库的设计、各个模块的设计和实现,以及具体界面的设计和功能。超市库存管理系统是基于 Java eclipse 作为开发工具 , Mysql 作为后台数据库支持。超市库存管理系统开发主要是界面程序的开发、数据库的建立、数据库的维护。应用程序功能完善,界面人机交互要好,而且操作简单。同时 JAVASwing语言简单,在较短的时间内能够开发出使用性强、 功能完善, 易于操作的程序, 也能实现与数据库的连接。
 

主要模块:

商品列表数据展示、商品信息添加、商品信息修改、商品信息删除、按照商品名称查询商品信息

功能截图: 

查询商品列表信息

添加商品信息:

修改商品信息:

删除商品信息:

删除之后需要刷新一下列表数据

编号查询商品信息:

部分关键代码:

主页功能:

public class GoodsManage extends JFrame 
	private JTextField textField;
	Select select = new Select();
	Updata updata = new Updata();
	Object[] header= "商品编号","商品名称","数量","单价";
	String sql = "SELECT goodsID,goodsname,num,price FROM goods";
	Object[][] data= select.getGoods(sql);
	DefaultTableModel df = new DefaultTableModel(data, header);
	int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
	int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
	
	public GoodsManage() 
		super("商品管理系统");
		this.setBounds(0, 0, 700, 450);
		this.setLocationRelativeTo(null);//让窗口在屏幕中间显示
		this.setResizable(false);//让窗口大小不可改变
		getContentPane().setLayout(null);
		
		JTable jTable = new JTable(df);
		JScrollPane jsp=new JScrollPane(jTable,v,h);
		jsp.setBounds(10, 10, 515, 320);
		getContentPane().add(jsp);
		
		JButton button_1 = new JButton("显示所有商品");
		button_1.addActionListener(new ActionListener() 
			@Override
			public void actionPerformed(ActionEvent e) 
				String sql = "SELECT goodsID,goodsname,num,price FROM goods";
				Object[][] data = Select.getGoods(sql);
				df.setDataVector(data, header);
			
		);
 
		button_1.setBounds(535, 80, 127, 30);
		getContentPane().add(button_1);
		
		JButton button_2 = new JButton("修改商品");
		button_2.setBounds(535, 140, 127, 30);
		getContentPane().add(button_2);
		button_2.addActionListener(new ActionListener() 
			@Override
			public void actionPerformed(ActionEvent e) 
				if (jTable.getSelectedColumn()<0) 
					JOptionPane.showMessageDialog(null, "请选择要修改的数据!");
				 else 
					int goodsID = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 0).toString());
					String name = jTable.getValueAt(jTable.getSelectedRow(), 1).toString();
					int num = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 2).toString());
					String price = jTable.getValueAt(jTable.getSelectedRow(), 3).toString();
					Goods goods = new Goods(goodsID,name,num,price);
					GoodsXG goodsXG = new GoodsXG(goods);
					goodsXG.setVisible(true);
				
				
			
		);
		
		JButton button_3 = new JButton("删除商品");
		button_3.setBounds(535, 200, 127, 30);
		getContentPane().add(button_3);
		button_3.addActionListener(new ActionListener() 
			@Override
			public void actionPerformed(ActionEvent e) 
				if (jTable.getSelectedColumn()<0) 
					JOptionPane.showMessageDialog(null, "请选中要删除的数据!");
				 else 
					int goodsID = Integer.parseInt(jTable.getValueAt(jTable.getSelectedRow(), 0).toString());
					String sql="delete from goods where goodsid="+goodsID;
					int result = updata.addData(sql);
					if (result>0) 
						JOptionPane.showMessageDialog(null, "删除成功!");
						JOptionPane.showMessageDialog(null, "记得刷新一下哦!");
					 else 
						JOptionPane.showMessageDialog(null, "删除失败!");
					
				
			
		);
		
		JButton button_4 = new JButton("添加商品");
		button_4.setBounds(535, 258, 127, 30);
		getContentPane().add(button_4);
		button_4.addActionListener(new ActionListener() 
			public void actionPerformed(ActionEvent arg0) 
				GoodsADD goodsAdd = new GoodsADD();
				goodsAdd.setVisible(true);
			
		);
		
		JLabel label = new JLabel("商品编号:");
		label.setBounds(40, 354, 112, 32);
		getContentPane().add(label);
		
		textField = new JTextField();
		textField.setBounds(154, 358, 127, 26);
		getContentPane().add(textField);
		textField.setColumns(10);
		
		JButton button = new JButton("按编号查询");
		button.addActionListener(new ActionListener() 
			public void actionPerformed(ActionEvent arg0) 
				String sql = "SELECT goodsID,goodsname,num,price FROM goods WHERE goodsid LIKE '%"+textField.getText()+"%'";
				Object[][] data = Select.getGoods(sql);
				df.setDataVector(data, header);
			
		);
		button.setBounds(305, 355, 112, 30);
		getContentPane().add(button);
		
		this.addWindowListener(new WindowAdapter() 
			 
			public void windowClosing(WindowEvent e) 
				super.windowClosing(e);
				//加入动作
				GoodsManagement m = new GoodsManagement();
				m.setVisible(true);
			 
		);
	
	
	public static void main(String[] args) 
		GoodsManage t = new GoodsManage();
		t.setVisible(true);
	

添加商品信息:

public class GoodsADD extends JFrame 
	private JTextField id,name,num,price;
	private JButton button;
	private JButton button_1;
	
	public GoodsADD() 
		super("商品管理系统");
		this.setBounds(0, 0, 400, 450);
		this.setLocationRelativeTo(null);//让窗口在屏幕中间显示
		this.setResizable(false);//让窗口大小不可改变
		getContentPane().setLayout(null);
		
		JLabel label = new JLabel("商品编号:");
		label.setBounds(85, 89, 87, 22);
		getContentPane().add(label);
		
		id = new JTextField();
		id.setBounds(147, 90, 142, 21);
		getContentPane().add(id);
		id.setColumns(10);
		
		JLabel label_1 = new JLabel("商品名称");
		label_1.setBounds(85, 139, 87, 22);
		getContentPane().add(label_1);
		
		name = new JTextField();
		name.setColumns(10);
		name.setBounds(147, 140, 142, 21);
		getContentPane().add(name);
		
		JLabel label_2 = new JLabel("数量:");
		label_2.setBounds(85, 193, 87, 22);
		getContentPane().add(label_2);
		
		num = new JTextField();
		num.setColumns(10);
		num.setBounds(147, 194, 142, 21);
		getContentPane().add(num);
		
		JLabel label_3 = new JLabel("单价:");
		label_3.setBounds(85, 241, 87, 22);
		getContentPane().add(label_3);
		
		price = new JTextField();
		price.setColumns(10);
		price.setBounds(147, 242, 142, 21);
		getContentPane().add(price);
		
		button = new JButton("确定");
		button.setBounds(78, 317, 93, 23);
		getContentPane().add(button);
		button.addActionListener(new ActionListener() 
			public void actionPerformed(ActionEvent arg0) 
				String addId = id.getText();
				String addName = name.getText();
				String addNum = num.getText();
				String addPrice = num.getText();
				if (addName.equals("")||addName.equals("")||addNum.equals("")||addPrice.equals("")) 
					JOptionPane.showMessageDialog(null, "请完整输入要添加的数据");
				 else 
					String sql="INSERT INTO goods VALUES("+addId+",'"+addName+"','"+addNum+"','"+addPrice+"')";
					int result = Updata.addData(sql);
					if (result>0) 
						JOptionPane.showMessageDialog(null, "添加成功!");
		                JOptionPane.showMessageDialog(null, "记得刷新一下哦!");
						dispose();
//						GoodsManage i = new GoodsManage();
//						i.setVisible(true);
					 else 
						JOptionPane.showMessageDialog(null, "添加失败!");
					
				
 
			
		);
		
		button_1 = new JButton("取消");
		button_1.setBounds(208, 317, 93, 23);
		getContentPane().add(button_1);
		button_1.addActionListener(new ActionListener() 
			public void actionPerformed(ActionEvent arg0) 
				dispose();
			
		);
		
	

数据库设计:

商品表:

CREATE TABLE `NewTable` (
`goodsID`  int(11) NOT NULL ,
`goodsName`  varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`num`  int(11) NOT NULL ,
`price`  decimal(10,4) NOT NULL ,
PRIMARY KEY (`goodsID`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
ROW_FORMAT=COMPACT
;

备注:项目来于网络、作者整理优化测试编写文档、若有侵权联系删除

总结: 

         通过这次课程设计。我学到了许多令我受益匪浅的知识。感觉java的界面设计和 mfc差不多。只是java没有可视化的界面做起来太累了。其他主要是类和对象的问题。实现起来还是挺简单的。综合了根据超市系统的实际情况的特点, 虽然用户界面和功能设计比较一般,但操作使用还是方便。满足学生学习的一个基本状态。了解Java对象和swing窗口化图形化编程的特性、由于时间仓促,只做了商品的CRUD、需要其他功能的可以自行设计和添加上、作为学生学习参考以及课程设计还是不错的选择。 

完整源码下载地址

JavaSwing系列项目推荐:

JavaSwing ATM取款机系统的设计和实现

JavaSwing的经典坦克大战游戏设计实现

JavaSwing+mysql的图书管理系统设计和实现

JavaSwing+Mysql的酒店管理系统设计和实现

javaSwing+文本存储的学生信息管理系统设计实现

JavaSwing+mysql的学生社团管理系统设计和实现

打卡JavaSwing项目更新 7 / 100篇

大家可以点赞收藏关注评论我啦 


超市商品信息管理系统/超市管理系统的设计与实现

...模式很快融入到了许多国家的之中,随之就产生了“超市商品信息管理系统”,这样就让超市商品信息管理系统更加方便简单。对于本超市商品信息管理系统的设计来说,系统开发主要是采用java语言技术,在整个... 查看详情

基于javajsp+servlet超市订单管理平台设计和实现建议收藏(代码片段)

...,以及具体界面的设计和功能。超市库存管理系统是基于Java作为开发工具,Mysql作为后台数据库支持。超市库存管理系统开发主要是界面程序的开发、数据库的建立 查看详情

java+jsp基于ssm的校园oto超市系统

本网站主要是针对高校学生以超市购物为重点开发的网站。系统从用户上分为三种:卖家、买家和游客。系统从模块分为买家模块和卖家模块,买家模块包括用户注册登录、商品浏览、商品详情、商品加入购物车、购物... 查看详情

毕业设计-基于javaweb实现超市管理系统

...应用服务器:TOMCAT8.5.31开发技术:JSP/SERVLET本系统基于JSP和Servlet实现开发一套小型超市管理系统,功能完整,结构清晰,使用技术结构简单,比较适合做毕业设计或课程设计使用,也可以做期未大作业... 查看详情

基于javaswing+mysql的酒店管理系统设计和实现

本项目演示地址链接》 前言:    项目是使用Javaswing开发,可实现基础数据维护用户登录、系统首页酒店信息管理、主要模块是开房管理、退房管理、房间信息管理、顾客信息管理等功能。界面设计比较简介、... 查看详情

基于javaswing+mysql的酒店管理系统设计和实现(代码片段)

前言:    项目是使用Javaswing开发,可实现基础数据维护用户登录、系统首页酒店信息管理、主要模块是开房管理、退房管理、房间信息管理、顾客信息管理等功能。界面设计比较简介、适合作为Java课设设计以及学习... 查看详情

基于javaswing+mysql的酒店管理系统设计和实现(代码片段)

前言:  本项目是使用Javaswing开发,可实现酒店管理系统登陆/重置、酒店信息查询、入驻管理和退房管理、收银管理以及修改密码等几大模块。界面设计比较简介、适合作为Java课设设计以及学习技术使用。摘要: ... 查看详情

基于javaswing+mysql的酒店管理系统设计和实现(代码片段)

前言:  本项目是使用Javaswing开发,可实现酒店管理系统登陆/重置、酒店信息查询、入驻管理和退房管理、收银管理以及修改密码等几大模块。界面设计比较简介、适合作为Java课设设计以及学习技术使用。摘要: ... 查看详情

基于springboot超市管理系统

在线访问在线访问摘要超市库存管理系统近年来,计算机网络技术飞速发展,加之网络传输具有快速、高效、便捷等特点,使得当今社会人们的生活和互联网的关系越来越密切。同时,人们对网络的依赖也愈来愈... 查看详情

基于javaswing+mysql的仓库管理系统设计和实现(代码片段)

前言:     本项目是使用Javaswing开发,可实现仓库管理系统登陆/注册/重置、登录后可以进行系统管理、原料管理、成品管理、管理记录以及注销退出等几大模块。界面设计比较简介、适合作为Java初学者课设设计以及... 查看详情

基于javaswing+mysql的仓库管理系统设计和实现(代码片段)

前言:     本项目是使用Javaswing开发,可实现仓库管理系统登陆/注册/重置、登录后可以进行系统管理、原料管理、成品管理、管理记录以及注销退出等几大模块。界面设计比较简介、适合作为Java初学者课设设计以及... 查看详情

基于javaswing+mysql的图书管理系统设计和实现(代码片段)

前言:    项目是使用Javaswing开发,可实现基础数据维护、图书类型管理和维护、图书信息管理和维护、注销退出、关于作者简介等功能。界面设计比较简介、适合作为Java课设设计以及学习技术使用。引言    随着计... 查看详情

基于javaswing+mysql的图书管理系统设计和实现(代码片段)

前言:    项目是使用Javaswing开发,可实现基础数据维护、图书类型管理和维护、图书信息管理和维护、注销退出、关于作者简介等功能。界面设计比较简介、适合作为Java课设设计以及学习技术使用。引言    随着计... 查看详情

基于javaswing+mysql+eclipse的图书管理系统(代码片段)

本项目为Javaswing项目,在工作环境中基本使用不到,但是很多学校把这个当做编程入门的项目来做,故分享出本项目供初学者参考。CSDN赞助下载:https://download.csdn.net/download/weixin_44893902/20367467白嫖:加QQ68872185... 查看详情

基于javaswing+mysql+eclipse的图书管理系统(代码片段)

本项目为Javaswing项目,在工作环境中基本使用不到,但是很多学校把这个当做编程入门的项目来做,故分享出本项目供初学者参考。CSDN赞助下载:https://download.csdn.net/download/weixin_44893902/20367467白嫖:加QQ68872185... 查看详情

javaswing+mysql商品销售管理系统(代码片段)

目录前言数据库的建立Java系统entity包​data包 Login包windows包主系统类前言临近期末做了一个商品销售管理系统,分享下,全部源码在码云,需要自取,博客只分享部分代码(太多了)。数据库的建立我们... 查看详情

基于javaswing+mysql的学生社团管理系统设计和实现(代码片段)

前言:    项目是使用Javaswing+mysql开发,可实现基础数据维护、用户登录注册、社团信息列表查看、社团信息添加、社团信息修改、社团信息删除以及退出注销等功能、界面设计比较简单易学、适合作为Java课设设计... 查看详情

基于javaswing+mysql的学生社团管理系统设计和实现(代码片段)

前言:    项目是使用Javaswing+mysql开发,可实现基础数据维护、用户登录注册、社团信息列表查看、社团信息添加、社团信息修改、社团信息删除以及退出注销等功能、界面设计比较简单易学、适合作为Java课设设计... 查看详情