一、項(xiàng)目介紹
項(xiàng)目下載:
gitee下載:https://gitee.com/wusupweilgy/taobao.git
藍(lán)奏云下載:https://wwp.lanzoup.com/i0ZZB0ywnipi
課設(shè)報(bào)告:https://wwp.lanzoup.com/iZLV20te02cd 提取碼:6666
(包括所有代碼源文件、第三方庫(kù)和界面圖片)
基于Java swing+Mysql實(shí)現(xiàn)的超市管理與購(gòu)物系統(tǒng),使用了beautyEye_inf.jar美化界面,使用idea編寫(xiě)邏輯代碼
1.開(kāi)發(fā)環(huán)境
jdk8+mysql8+idea
2.功能
1.注冊(cè)、登錄功能。
2.管理員有商品類(lèi)別管理、商品管理、用戶(hù)管理、出售記錄查詢(xún)等功能。
3.普通用戶(hù)有查看購(gòu)物車(chē)、購(gòu)物卡充值、修改密碼、購(gòu)買(mǎi)商品等功能。
3.項(xiàng)目運(yùn)行截圖
該項(xiàng)目前端界面和后端數(shù)據(jù)校驗(yàn)博主經(jīng)過(guò)了一系列測(cè)試,基本是個(gè)比較完善的java課設(shè)了,如有不足,希望大家多多建議。
二、使用步驟
1.用idea導(dǎo)入項(xiàng)目
通過(guò)idea的open打開(kāi)項(xiàng)目
2.配置項(xiàng)目jdk版本
ctrl+alt+shift+s 設(shè)置項(xiàng)目的jdk版本,兩個(gè)我這里都選8,必須選擇8,如果java版本不對(duì),建議重新下8,因?yàn)?比較穩(wěn)定。
????
3.配置數(shù)據(jù)庫(kù)
1)創(chuàng)建shoping數(shù)據(jù)庫(kù),導(dǎo)入運(yùn)行shoping.sql文件
2)更改db.properties文件,基本只用更改密碼,填寫(xiě)自己的數(shù)據(jù)庫(kù)密碼
4.運(yùn)行項(xiàng)目
運(yùn)行main文件下的Main,輸入用戶(hù)名、密碼(都為admin)進(jìn)入管理員界面,進(jìn)入普通用戶(hù)界面需要注冊(cè),然后登錄
三、項(xiàng)目?jī)?yōu)點(diǎn)
1.單例模式
項(xiàng)目的每個(gè)子窗口都設(shè)置了單例模式,為了防止多次點(diǎn)擊,創(chuàng)建過(guò)多窗口。這里用到了餓漢模式
//單例模式--餓漢模式,只要類(lèi)被加載,實(shí)例就會(huì)立刻創(chuàng)建,這樣子窗口加載會(huì)快一些
//把構(gòu)造方法變成私有,
private static GoodsTypeAdd goodsTypeAdd = new GoodsTypeAdd();
//獲取實(shí)例的唯一方式
public static GoodsTypeAdd getGoodsTypeAdd(){
return goodsTypeAdd;
}
2.封裝了數(shù)據(jù)庫(kù)連接類(lèi)
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數(shù)據(jù)庫(kù)配置文件
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.用戶(hù)信息讀取保存
從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)寫(xiě)入本地的文件,一定程度上減少了數(shù)據(jù)庫(kù)連接次數(shù)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-442651.html
package utiles;
import java.io.*;
import java.util.ArrayList;
public class LoginConfig {
/**
* 將用戶(hù)的個(gè)人信息寫(xiě)入文件
* @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 block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
if(bos!=null) {
bos.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 返回文件中用戶(hù)的個(gè)人信息集合
* @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 block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.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 block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
if(bos!=null) {
bos.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
四、個(gè)人總結(jié)
以上就是我的java課設(shè)分享,如果這篇文章有幫助到你,希望可以給作者點(diǎn)個(gè)贊??,創(chuàng)作不易,如果有對(duì)后端技術(shù)、前端領(lǐng)域感興趣的讀者,可以關(guān)注下,互相交流學(xué)習(xí) ??????文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-442651.html
到了這里,關(guān)于基于Java+Mysql的超市管理系統(tǒng)(附源碼)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!