首页 > 图灵资讯 > 技术篇>正文

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

2023-04-25 11:06:48

一、项目介绍

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

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

1.开发环境

jdk8+mysql8+idea

2.功能

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

3.项目运行截图

经过一系列测试,该项目的前端界面和后端数据验证博主基本上是一个相对完善的java课程。如果有缺点,我希望你能给出更多的建议。

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

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

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

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

第二,使用步骤1。用idea导入项目

将项目文件直接复制到Java项目中(也可以通过git导入,可以搜索相关教程,这里就不演示了),鼠标右击lib文件夹,点击Add as Library...将项目所需的第三方库添加到项目中,lib文件夹中的beautyeye_Inf.jar用于美化界面

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

2.配置jdk版本的项目

ctrl+alt+shift+s 设置项目的jdk版本,我在这里选择两个8

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

然后点击

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

3.配置项目字符编码

因为项目是这样设置编码的,所以这里一定要设置,否则可能会乱码

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

4.配置数据库

1)创建shoping数据库,导入运行shoping.更改dbbl文件2.properties文件,基本上只需要更改密码,填写自己的数据库密码

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

5.运行项目

运行main文件下的main,输入用户名和密码(均为admin)进入管理员界面,注册进入普通用户界面,然后登录

3.项目优势1.单例模式

为了防止多次点击,项目的每个子窗口都设置了单例模式,创建了太多的窗口。这里使用了饿汉模式

//单例模式-饿汉模式,只要类被加载,实例就会立即创建,这样窗口加载就会更快///把结构方法变成私有,private static GoodsTypeAdd goodsTypeAdd = new GoodsTypeAdd();publicc///唯一获取实例的方法 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();}}}}
上一篇 SQL基础教程
下一篇 addErrors与saveErrors有什么区别

文章素材均来源于网络,如有侵权,请联系管理员删除。