文章目录

  • 一、项目介绍
    • 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的超市管理系统(附源码)相关推荐

  1. java基于springboot班级同学录网站管理系统附源码

    班级同学录管理系统是基于java编程语言,springboot框架,mysql数据库开发的,本设计主要分为用户,管理员两个角色,其中用户注册登陆后可以查看系统公告,校园校友风采,在线交流,在线报名聚会 ...

  2. 基于JavaWeb学生成绩信息管理系统(附源码资料)-毕业设计

    1. 适用人群 本课程主要是针对计算机专业相关正在做毕业设计.或者是需要实战项目的Java开发学习者. 2. 你将收获 提供:项目源码.项目文档.数据库脚本.软件工具等所有资料(在平台的课程附件中进行 ...

  3. java基于springboot智能停车场车位管理系统附源码风格

    springboot智能停车场管理系统是基于java编程语言,mysql数据库,springboot框架制作,本系统主要分为用户,管理员两个角色,其中用户可以在线注册登陆,查看车站,申请车位,在线交流 ...

  4. [java毕业设计专栏]基于SSM实现的社区医院管理系统[附源码+论文+PPT视频]

    一.功能演示 1.1系统功能模块 社区医院管理服务系统,在系统首页可以查看首页.医生.公告资讯.个人中心.后台管理等内容进行详细操作,如图1-1所示. 1-1.系统首页 1.2用户注册 在用户注册页面 ...

  5. java基于springboot社区养老服务管理系统附源码

    随着用户要求的不断提高及计算机科学的迅速发展,以及互联网的普及,越来越多的人每天都要通过上网来获取大量的即时信息.而潘随着我国人口老龄化的发展,中国正迈入老龄化社会,养老院有着良好的发展前景.

  6. 计算机毕业设计Java的健身房管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java的健身房管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java的健身房管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  7. 计算机毕业设计Java服装定制管理系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java服装定制管理系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java服装定制管理系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  8. 计算机毕业设计Java网上书店管理系统(源码+系统+mysql数据库+Lw文档)

    计算机毕业设计Java网上书店管理系统(源码+系统+mysql数据库+Lw文档) 计算机毕业设计Java网上书店管理系统(源码+系统+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  9. 计算机毕业设计Java医院药品管理系统(系统+源码+mysql数据库+Lw文档)

    计算机毕业设计Java医院药品管理系统(系统+源码+mysql数据库+Lw文档) 计算机毕业设计Java医院药品管理系统(系统+源码+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B/S架构 ...

最新文章

  1. JAVA大文件上传断点续传解决方案
  2. JDBC操作之连接和关闭mysql数据库
  3. java整理软件--- Java OCR 图像智能字符识别技术,可识别中文,但是验证码不可以识别...已测识别中文效果很好...
  4. 14K Star,「程序员做饭指南」冲上热榜
  5. 定量遥感:计算地方时和太阳高度角(C++代码)
  6. SNF软件开发机器人-子系统-导出-导入功能-多人合作时这个功能经常用到
  7. 虚机不能启动的特例思考
  8. Unity3d之求物体体积
  9. [SHELL] LAMP一键安装脚本设计(v2.1)
  10. C++11新特性之std::bind()
  11. 计算机维修的税收编码,维修费税收分类编码是多少?
  12. 现代光学字符识别技术综述
  13. 2021年中国银行业金融机构普惠型小微企业贷款情况分析:贷款余额不断增加,增速也不断下降[图]
  14. MySQL分库分表及中间件Mycat
  15. BCNF范式(修正的第三范式)、第四范式和第五范式
  16. 项目管理论文十大领域各一篇
  17. wpf初学者-wpf控件简单介绍
  18. 九龙证券|服务器龙头获资金连续抢筹,尾盘主力抢筹前期大热门股
  19. 2020 第三届江西省高校网络安全技能大赛 线上赛Writeup
  20. 键盘移动小div(js原生)

热门文章

  1. 评论式软文怎么写?学会这三招,让你轻松营造出客观的感觉
  2. Dev g++.exe g++.exe C:\Users\meng8\Desktop\g++.exe CreateProcess: No such file or directory.
  3. Linux 解析 ip 的各种命令
  4. 基于java的CRM客户关系管理系统的设计与实现
  5. android layout文件夹下新建子文件夹 及解决文件夹爆红
  6. 信息技术学考 这题不会做!!
  7. 2.4.XXX 内核配置 介绍
  8. 《计算机操作系统》复习提纲
  9. window 使用rabbitMQ 报错Applying plugin configuration to rabbit@... failed.
  10. windows 安装 matplotlib 报错