文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

基于Java+Mysql的超市管理系统(附源码)

2023-12-23 15:34

关注

一、项目介绍

项目下载:
gitee下载:https://gitee.com/wusupweilgy/taobao.git
蓝奏云下载:https://wwp.lanzoup.com/i0ZZB0ywnipi
课设报告:https://wwp.lanzoup.com/iZLV20te02cd 提取码:6666
(包括所有代码源文件、第三方库和界面图片)

基于Java swing+Mysql实现的超市管理与购物系统,使用了beautyEye_inf.jar美化界面,使用idea编写逻辑代码

1.开发环境

jdk8+mysql8+idea

2.功能

注册、登录功能。
2.管理员有商品类别管理、商品管理、用户管理、出售记录查询等功能。
3.普通用户有查看购物车、购物卡充值、修改密码、购买商品等功能。

3.项目运行截图

该项目前端界面和后端数据校验博主经过了一系列测试,基本是个比较完善的java课设了,如有不足,希望大家多多建议。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、使用步骤

1.用idea导入项目

通过idea的open打开项目
在这里插入图片描述

2.配置项目jdk版本

ctrl+alt+shift+s 设置项目的jdk版本,两个我这里都选8,必须选择8,如果java版本不对,建议重新下8,因为8比较稳定。
​​​​在这里插入图片描述

3.配置数据库

1)创建shoping数据库,导入运行shoping.sql文件
2)更改db.properties文件,基本只用更改密码,填写自己的数据库密码
在这里插入图片描述

4.运行项目

运行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");    }         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 {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();}}}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课设分享,如果这篇文章有帮助到你,希望可以给作者点个赞👍,创作不易,如果有对后端技术、前端领域感兴趣的读者,可以关注下,互相交流学习 😉😉😉

来源地址:https://blog.csdn.net/weixin_51603038/article/details/127098277

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯