基于Mysql+Java的超市管理系统(附源码)
文章目录
- 一、项目介绍
- 1.开发环境
- 2.功能
- 3.项目运行截图
- 二、使用步骤
- 1.用idea导入项目
- 2.配置项目jdk版本
- 3.配置项目字符编码
- 4.配置数据库
- 5.运行项目
- 三、项目优点
- 1.单例模式
- 2.封装了数据库连接类
- 3.用户信息读取保存
- 四、个人总结
一、项目介绍
项目下载:
gitee下载:https://gitee.com/wusupweilgy/taobao.git
蓝奏云下载:https://wwp.lanzoup.com/iIA3P0ckeu8f
(包括所有代码源文件、第三方库和界面图片)
基于Java swing+Mysql实现的超市管理与购物系统,使用了eclipse的WindowBuilder插件绘制了界面,使用idea编写逻辑代码
1.开发环境
jdk8+mysql8+idea+eclipse+Windowsbuilder
2.功能
1.注册、登录功能。
2.管理员有商品类别管理、商品管理、用户管理、出售记录查询等功能。
3.普通用户有查看购物车、购物卡充值、修改密码、购买商品等功能。
3.项目运行截图
该项目前端界面和后端数据校验博主经过了一系列测试,基本是个比较完善的java课设了,如有不足,希望大家多多建议。
二、使用步骤
1.用idea导入项目
将项目文件直接复制到Java工程里,鼠标右击lib文件夹,点击Add as Library…将项目需要的第三方库添加到项目中,其中lib文件夹里的beautyeye_Inf.jar是用来美化界面的
2.配置项目jdk版本
ctrl+alt+shift+s 设置项目的jdk版本,两个我这里都选8
然后点击
3.配置项目字符编码
因为项目是这样设置编码,这里一定要这样设置,否则可能乱码
4.配置数据库
1)创建shoping数据库,导入运行shoping.sql文件
2)更改db.properties文件,基本只用更改密码,填写自己的数据库密码
5.运行项目
运行main文件下的Main,输入用户名、密码(都为admin)进入管理员界面,进入普通用户界面需要注册,然后登录
三、项目优点
1.单例模式
项目的每个子窗口都设置了单例模式,为了防止多次点击,创建过多窗口。这里用到了饿汉模式
//单例模式--饿汉模式,只要类被加载,实例就会立刻创建,这样子窗口加载会快一些//把构造方法变成私有,
private static GoodsTypeAdd goodsTypeAdd = new GoodsTypeAdd();
//获取实例的唯一方式
public static GoodsTypeAdd getGoodsTypeAdd(){return goodsTypeAdd;
}
2.封装了数据库连接类
package utiles;import java.sql.*;
import java.util.ResourceBundle;/*** */
public class JDBCUtils {private static String driver;private static String url;private static String username;private static String password;private static ResourceBundle bundle;//读取db.properties数据库配置文件static{bundle = ResourceBundle.getBundle("db");driver = bundle.getString("jdbc.driverClass");url = bundle.getString("jdbc.jdbcUrl");username = bundle.getString("jdbc.username");password = bundle.getString("jdbc.password");}/*** ** @return*/public static Connection getConnection() {Connection conn = null;try {Class.forName(driver);conn = DriverManager.getConnection(url, username, password);} catch (Exception e) {e.printStackTrace();}return conn;}public static void release(Connection conn) {if (conn != null) {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}public static void release(Connection conn, PreparedStatement pstmt) {if (pstmt != null) {try {pstmt.close();} catch (SQLException e) {e.printStackTrace();}}if (conn != null) {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}public static void release(Connection conn, PreparedStatement pstmt, ResultSet rs) {if (rs != null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if (pstmt != null) {try {pstmt.close();} catch (SQLException e) {e.printStackTrace();}}if (conn != null) {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}}
3.用户信息读取保存
从数据库读取数据写入本地的文件,一定程度上减少了数据库连接次数
package utiles;import java.io.*;
import java.util.ArrayList;public class LoginConfig {/*** 将用户的个人信息写入文件* @param name* @param id* @param password*/public static void writeUser(String name,String id,String password,String money) {BufferedWriter bos = null;try {bos = new BufferedWriter(new FileWriter("password.txt"));bos.write(name);bos.newLine();bos.write(password);bos.newLine();bos.write(id);bos.newLine();bos.write(money);} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {try {if(bos!=null) {bos.close();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} }/*** 返回文件中用户的个人信息集合* @return*/public static ArrayList<String> getUserList(){ArrayList<String> list = new ArrayList();BufferedReader bis;try {bis = new BufferedReader(new FileReader("password.txt"));String s = null;while((s=bis.readLine())!=null) {list.add(s);}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return list;}public static void reset() {BufferedWriter bos = null;try {bos = new BufferedWriter(new FileWriter("password.txt"));} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally {try {if(bos!=null) {bos.close();}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} }
}
四、个人总结
以上就是我的java课设分享,本文没有介绍eclipse+Windowsbuilder的使用,读者可以自行搜索相关教程。这是博主第一次分享,希望大家多多关注,多多评论,互相交流呀
基于Mysql+Java的超市管理系统(附源码)相关推荐
- java基于springboot班级同学录网站管理系统附源码
班级同学录管理系统是基于java编程语言,springboot框架,mysql数据库开发的,本设计主要分为用户,管理员两个角色,其中用户注册登陆后可以查看系统公告,校园校友风采,在线交流,在线报名聚会 ...
- 基于JavaWeb学生成绩信息管理系统(附源码资料)-毕业设计
1. 适用人群 本课程主要是针对计算机专业相关正在做毕业设计.或者是需要实战项目的Java开发学习者. 2. 你将收获 提供:项目源码.项目文档.数据库脚本.软件工具等所有资料(在平台的课程附件中进行 ...
- java基于springboot智能停车场车位管理系统附源码风格
springboot智能停车场管理系统是基于java编程语言,mysql数据库,springboot框架制作,本系统主要分为用户,管理员两个角色,其中用户可以在线注册登陆,查看车站,申请车位,在线交流 ...
- [java毕业设计专栏]基于SSM实现的社区医院管理系统[附源码+论文+PPT视频]
一.功能演示 1.1系统功能模块 社区医院管理服务系统,在系统首页可以查看首页.医生.公告资讯.个人中心.后台管理等内容进行详细操作,如图1-1所示. 1-1.系统首页 1.2用户注册 在用户注册页面 ...
- java基于springboot社区养老服务管理系统附源码
随着用户要求的不断提高及计算机科学的迅速发展,以及互联网的普及,越来越多的人每天都要通过上网来获取大量的即时信息.而潘随着我国人口老龄化的发展,中国正迈入老龄化社会,养老院有着良好的发展前景.
- 计算机毕业设计Java的健身房管理系统(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java的健身房管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java的健身房管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...
- 计算机毕业设计Java服装定制管理系统(源码+系统+mysql数据库+lw文档)
计算机毕业设计Java服装定制管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java服装定制管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...
- 计算机毕业设计Java网上书店管理系统(源码+系统+mysql数据库+Lw文档)
计算机毕业设计Java网上书店管理系统(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java网上书店管理系统(源码+系统+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B/S架构 ...
- 计算机毕业设计Java医院药品管理系统(系统+源码+mysql数据库+Lw文档)
计算机毕业设计Java医院药品管理系统(系统+源码+mysql数据库+Lw文档) 计算机毕业设计Java医院药品管理系统(系统+源码+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B/S架构 ...
最新文章
- JAVA大文件上传断点续传解决方案
- JDBC操作之连接和关闭mysql数据库
- java整理软件--- Java OCR 图像智能字符识别技术,可识别中文,但是验证码不可以识别...已测识别中文效果很好...
- 14K Star,「程序员做饭指南」冲上热榜
- 定量遥感:计算地方时和太阳高度角(C++代码)
- SNF软件开发机器人-子系统-导出-导入功能-多人合作时这个功能经常用到
- 虚机不能启动的特例思考
- Unity3d之求物体体积
- [SHELL] LAMP一键安装脚本设计(v2.1)
- C++11新特性之std::bind()
- 计算机维修的税收编码,维修费税收分类编码是多少?
- 现代光学字符识别技术综述
- 2021年中国银行业金融机构普惠型小微企业贷款情况分析:贷款余额不断增加,增速也不断下降[图]
- MySQL分库分表及中间件Mycat
- BCNF范式(修正的第三范式)、第四范式和第五范式
- 项目管理论文十大领域各一篇
- wpf初学者-wpf控件简单介绍
- 九龙证券|服务器龙头获资金连续抢筹,尾盘主力抢筹前期大热门股
- 2020 第三届江西省高校网络安全技能大赛 线上赛Writeup
- 键盘移动小div(js原生)
热门文章
- 评论式软文怎么写?学会这三招,让你轻松营造出客观的感觉
- Dev g++.exe g++.exe C:\Users\meng8\Desktop\g++.exe CreateProcess: No such file or directory.
- Linux 解析 ip 的各种命令
- 基于java的CRM客户关系管理系统的设计与实现
- android layout文件夹下新建子文件夹 及解决文件夹爆红
- 信息技术学考 这题不会做!!
- 2.4.XXX 内核配置 介绍
- 《计算机操作系统》复习提纲
- window 使用rabbitMQ 报错Applying plugin configuration to rabbit@... failed.
- windows 安装 matplotlib 报错