Java實(shí)現(xiàn)商品管理系統(tǒng)代碼實(shí)例講解
實(shí)現(xiàn)功能:商品查詢,新增,更改價(jià)格,以及刪除
首先是三個(gè)基本類的構(gòu)建
商品類、賬號(hào)類、品牌類
1、商品類
public class Goods { //商品信息:商品名稱,商品價(jià)格,商品銷量,商品種類,商品品牌對(duì)應(yīng)編號(hào) private String goodsName; private double goodsPrice; private int goodsSales; private String goodsCategories; private int brandsNum; private String GoodsNum; public Goods(String goodsName, double goodsPrice, int goodsSales, String goodsCategories,int brandsNum, String goodsNum) { this.goodsName = goodsName; this.goodsPrice = goodsPrice; this.goodsSales = goodsSales; this.goodsCategories = goodsCategories; this.brandsNum = brandsNum; GoodsNum = goodsNum; } public int getBrandsNum() { return brandsNum; } public void setBrandsNum(int brandsNum) { this.brandsNum = brandsNum; } public Goods() { } public String getGoodsNum() { return GoodsNum; } public void setGoodsNum(String goodsNum) { GoodsNum = goodsNum; } public String getGoodsName() { return goodsName; } public void setGoodsName(String goodsName) { this.goodsName = goodsName; } public double getGoodsPrice() { return goodsPrice; } public void setGoodsPrice(double goodsPrice) { this.goodsPrice = goodsPrice; } public int getGoodsSales() { return goodsSales; } public void setGoodsSales(int goodsSales) { this.goodsSales = goodsSales; } public String getGoodsCategories() { return goodsCategories; } public void setGoodsCategories(String goodsCategories) { this.goodsCategories = goodsCategories; } public int getBrands() { return brandsNum; } public void setBrands(int brandsNum) { this.brandsNum = brandsNum; } }
實(shí)現(xiàn)了其各個(gè)屬性的get和set方法
賬戶類
public class Accounts { //賬戶信息:賬戶名稱,賬戶密碼 private String userName; private String userPassword; public Accounts(String userName, String userPassword) { this.userName = userName; this.userPassword = userPassword; } public Accounts() { } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserPassword() { return userPassword; } public void setUserPassword(String userPassword) { this.userPassword = userPassword; } }
品牌類
public class Brands { //商品品牌信息:商品品牌名稱,商品品牌對(duì)應(yīng)編號(hào) private String brandsName; private int brandsNum; public Brands(String brandsName, int brandsNum) { this.brandsName = brandsName; this.brandsNum = brandsNum; } public String getBrandsName() { return brandsName; } public void setBrandsName(String brandsName) { this.brandsName = brandsName; } public int getBrandsNum() { return brandsNum; } public void setBrandsNum(int brandsNum) { this.brandsNum = brandsNum; } }
之后是一個(gè)存儲(chǔ)這三個(gè)基本類信息的數(shù)據(jù)類,通過定義List實(shí)現(xiàn)三個(gè)類的存儲(chǔ)
數(shù)據(jù)類
import java.util.ArrayList; import java.util.List; import java.util.UUID; public class Database { //存儲(chǔ)用戶信息 private List<Accounts>accountsList=new ArrayList<>(); //存儲(chǔ)商品信息 private List<Goods>goodsList=new ArrayList<>(); //存儲(chǔ)品牌信息 private List<Brands>brandsList=new ArrayList<>(); public Database(){ //添加初始化信息 此處自己添加商品,用戶信息,品牌信息 } public List<Accounts> getAccountsList() { return accountsList; } public void setAccountsList(List<Accounts> accountsList) { this.accountsList = accountsList; } public List<Goods> getGoodsList() { return goodsList; } public void setGoodsList(List<Goods> goodsList) { this.goodsList = goodsList; } public List<Brands> getBrandsList() { return brandsList; } public void setBrandsList(List<Brands> brandsList) { this.brandsList = brandsList; } }
之后是三個(gè)基本類各個(gè)增刪改查方法的實(shí)現(xiàn),這個(gè)根據(jù)程序需求寫
商品交互類
import java.util.ArrayList; import java.util.List; public class GoodsDAO { //調(diào)用數(shù)據(jù)庫 private Database database; //初始化商品DAO類,引入數(shù)據(jù)庫 public GoodsDAO(Database database){ this.database=database; } //返回銷量最高的商品 public List<Goods>hotSell(){ List<Goods> temporList=database.getGoodsList(); for(int i=0;i<temporList.size();i++){ for(int j=0;j<temporList.size()-1-i;j++){ if(temporList.get(j).getGoodsSales()<temporList.get(j+1).getGoodsSales()) { Goods e=temporList.get(j+1); temporList.set(j+1,temporList.get(j)); temporList.set(j,e); } } } return temporList; } //根據(jù)商品序號(hào)查詢商品 public Goods searchById(int id){ Goods goods; goods=database.getGoodsList().get(id-1); return goods; } //根據(jù)品牌編號(hào)查詢商品 public List<Goods>searchByBranchId(int brandsId){ List<Goods>temporList=new ArrayList<>(); for(Goods each:database.getGoodsList()){ if(each.getBrandsNum()==brandsId) temporList.add(each); } if(temporList.isEmpty()) temporList=null; return temporList; } //根據(jù)價(jià)格區(qū)間查詢商品 public List<Goods>searchByPrice(double minPrice,double maxPrice){ List<Goods>temporList=new ArrayList<>(); for(Goods each:database.getGoodsList()){ if(each.getGoodsPrice()>=minPrice&&each.getGoodsPrice()<=maxPrice) { temporList.add(each); } } if(temporList.isEmpty()) temporList=null; return temporList; } //新增商品 public void addGoods(Goods goods){ database.getGoodsList().add(goods); } //修改商品價(jià)格 public void modify(String goodsId,double price){ for(Goods each:database.getGoodsList()){ if(each.getGoodsNum().equals(goodsId)) each.setGoodsPrice(price); } } //刪除商品 public void delete(String goodsId){ Goods goods=null; for(Goods each:database.getGoodsList()){ if(each.getGoodsNum().equals(goodsId)) goods=each; } database.getGoodsList().remove(goods); //迭代操作時(shí)不允許ArrayList被改變,因此重新定義一個(gè)對(duì)象指向他,迭代完后進(jìn)行操作。 } //更改商品品牌編號(hào) public void changeByBranchId(int brandsId){ for(Goods each:database.getGoodsList()){ if(each.getBrandsNum()==brandsId) each.setBrandsNum(brandsId-1); } } }
賬戶交互類實(shí)現(xiàn)注冊(cè),登錄的需求
public class AccountDAO { //調(diào)用數(shù)據(jù)庫 private Database database; //初始化賬戶DAO類,引入數(shù)據(jù)庫 public AccountDAO(Database database){ this.database=database; } //根據(jù)賬戶名返回賬戶類 public Accounts searchAccounts(String userName){ Accounts accounts=null; for(Accounts each:database.getAccountsList()){ if(each.getUserName().equals(userName)) accounts=each; } return accounts; } //添加賬戶類 public void addAccount(Accounts accounts){ database.getAccountsList().add(accounts); } }
品牌類
public class BrandsDAO { //調(diào)用數(shù)據(jù)庫 private Database database; //初始化品牌DAO類,引入數(shù)據(jù)庫 public BrandsDAO(Database database){ this.database=database; } //根據(jù)品牌名稱查詢 public Brands findByName(String brandName){ Brands brands=null; for(Brands each:database.getBrandsList()){ if(each.getBrandsName().equals(brandName)) { brands = each; break; } } return brands; } //查詢所有品牌 public void findAll(){ System.out.println("現(xiàn)有品牌:"); for(Brands each:database.getBrandsList()){ System.out.println(each.getBrandsNum()+"\t"+each.getBrandsName()); } } //根據(jù)品牌編號(hào)查詢品牌名稱 public String findNameById(int id){ String brandName; Brands brands=null; for(Brands each:database.getBrandsList()){ if(each.getBrandsNum()==id){ brands=each; } } return brands.getBrandsName(); } //查詢品牌是否擁有 public boolean findBranch(String brandsName){ boolean choose=false; for(Brands each:database.getBrandsList()) { if(each.getBrandsName().equals(brandsName)) choose=true; } return choose; } //新建一個(gè)品牌 public void addBranch(Brands brands){ database.getBrandsList().add(brands); } //查找當(dāng)前品牌的的數(shù)量 public int brandsNumbers(){ int num=database.getBrandsList().size(); return num; } //查找要?jiǎng)h除的品牌 public void deleteBrands(int num){ Brands brands=null; for(Brands each:database.getBrandsList()){ if(each.getBrandsNum()==num) brands=each; } database.getBrandsList().remove(brands); } //移動(dòng)編號(hào) public void moveBrandsNum(int brandsNum){ int index; for(int i=0;i<database.getBrandsList().size();i++){ if(database.getBrandsList().get(i).getBrandsNum()>brandsNum) database.getBrandsList().get(i).setBrandsNum(database.getBrandsList().get(i).getBrandsNum()-1); } } }
服務(wù)類實(shí)現(xiàn)項(xiàng)目需要的功能,構(gòu)建交互界面
public class GoodsSystem { Scanner scanner=new Scanner(System.in); Random random=new Random(); AccountDAO accountDAO; BrandsDAO brandsDAO; GoodsDAO goodsDAO; //初始化DAO public GoodsSystem(Database database){ accountDAO=new AccountDAO(database); brandsDAO=new BrandsDAO(database); goodsDAO=new GoodsDAO(database); } public void start(){ // 1.登陸 System.out.println("----------------商品系統(tǒng)---------------"); System.out.println("1.登錄"); // 2.注冊(cè) System.out.println("2.注冊(cè)"); // 3.退出系統(tǒng) System.out.println("3.退出系統(tǒng)"); System.out.println("請(qǐng)選擇:"); String choose=scanner.next(); switch(choose){ //登錄 case "1": login(); break; //注冊(cè) case "2": regist(); break; //退出系統(tǒng) case "3": System.out.println("系統(tǒng)已經(jīng)退出"); break; default: System.out.println("輸入錯(cuò)誤,請(qǐng)重新輸入:"); start(); } } //登錄 public void login(){ System.out.println("請(qǐng)輸入用戶名:"); String userName=scanner.next(); System.out.println("請(qǐng)輸入密碼:"); String passWord=scanner.next(); Accounts accounts=accountDAO.searchAccounts(userName); String testNum=""; if(accounts!=null){ if(accounts.getUserPassword().equals(passWord)){ for(int i=0;i<4;i++){ int num=random.nextInt(10); testNum=testNum+num; } System.out.println("驗(yàn)證碼:"+testNum); System.out.println("請(qǐng)輸入驗(yàn)證碼:"); String testNumInput=scanner.next(); if(testNumInput.equals(testNum)) { System.out.println("登錄成功"); mainMenu(); } else{ System.out.println("驗(yàn)證碼錯(cuò)誤,請(qǐng)重新登錄"); login(); } } else{ System.out.println("密碼錯(cuò)誤,請(qǐng)重新登錄"); System.out.println("輸入任意鍵執(zhí)行操作,或輸入0返回上一層目錄"); String choose=scanner.next(); if(choose.equals("0")) start(); else login(); } } else{ System.out.println("該賬戶不存在,請(qǐng)重新輸入:"); System.out.println("輸入任意鍵執(zhí)行操作,或輸入0返回上一層目錄"); String choose=scanner.next(); if(choose.equals("0")) start(); else login(); } } //注冊(cè) public void regist(){ System.out.println("----注冊(cè)----"); //用戶名 System.out.println("請(qǐng)輸入用戶名:"); String userName=scanner.next(); Accounts accounts=accountDAO.searchAccounts(userName); while(accounts!=null){ System.out.println("用戶名已經(jīng)被使用,請(qǐng)重新輸入"); userName=scanner.next(); accounts=accountDAO.searchAccounts(userName); } //密碼 System.out.println("請(qǐng)輸入密碼:"); String userPassWord=scanner.next(); System.out.println("確認(rèn)密碼:"); String testPassWord=scanner.next(); while(!userPassWord.equals(testPassWord)){ System.out.println("確認(rèn)密碼與注冊(cè)密碼不相符,請(qǐng)重新輸入密碼"); System.out.println("請(qǐng)輸入密碼:"); userPassWord=scanner.next(); System.out.println("確認(rèn)密碼:"); testPassWord=scanner.next(); } //驗(yàn)證碼 String testNum=""; for(int i=0;i<4;i++){ int num=random.nextInt(10); testNum=testNum+num; } System.out.println("驗(yàn)證碼:"+testNum); System.out.println("請(qǐng)輸入驗(yàn)證碼:"); String testNumInput=scanner.next(); if(testNumInput.equals(testNum)) { accountDAO.addAccount(new Accounts(userName,userPassWord)); System.out.println("注冊(cè)成功"); start(); } else{ System.out.println("驗(yàn)證碼錯(cuò)誤,請(qǐng)重新注冊(cè)"); System.out.println("輸入任意鍵執(zhí)行操作,或輸入0返回上一層目錄"); String choose=scanner.next(); if(choose.equals("0")) start(); else regist(); } } //主菜單 public void mainMenu(){ System.out.println("-------------主菜單------------"); // 1.熱門商品 System.out.println("1.熱門商品"); // 2.商品查詢 System.out.println("2.商品查詢"); // 3.后臺(tái)管理 System.out.println("3.后臺(tái)管理"); System.out.println("4.退出系統(tǒng)"); System.out.println("請(qǐng)輸入你的選擇:"); String choose=scanner.next(); switch (choose){ case "1"://熱門商品 hotSell(); break; case "2"://商品查詢 searchGoods(); break; case "3"://后臺(tái)管理 controlGoods(); break; case "4"://退出系統(tǒng) System.out.println("系統(tǒng)已經(jīng)退出"); break; default: mainMenu(); } } //熱賣商品 public void hotSell(){ System.out.println("------------熱銷商品------------"); List <Goods>tempor=goodsDAO.hotSell(); System.out.println("序號(hào)\t\t"+"商品"+"\t\t\t\t\t銷量\t"); int num=10; if(tempor.size()<10) num=tempor.size(); for(int i=0;i<num;i++){ System.out.println((i+1)+"\t\t"+tempor.get(i).getGoodsName()+"\t\t\t\t\t"+tempor.get(i).getGoodsSales()+"\t"); } System.out.println("請(qǐng)輸入要查詢的商品ID或輸入0返回上一層菜單。"); String chooseEnd=scanner.next(); if(isNumeric(chooseEnd)==true) { int choose=Integer.parseInt(chooseEnd); if(choose==0){ mainMenu(); } else { if(choose<=num&&choose>=0) { Goods goods = goodsDAO.searchById(choose); System.out.println("商品名稱\t\t品牌\t\t價(jià)格\t\t類型"); System.out.println(goods.getGoodsName() + "\t\t\t" + brandsDAO.findNameById(goods.getBrandsNum()) + "\t" + goods.getGoodsPrice() + "元\t" + goods.getGoodsCategories()); mainMenu(); } else { System.out.println("查詢的序號(hào)超過限定,請(qǐng)重新輸入"); hotSell(); } } } else { System.out.println("輸入錯(cuò)誤符號(hào),請(qǐng)重新選擇"); hotSell(); } } //商品查詢 public void searchGoods(){ System.out.println("---------商品查詢----------"); // 1.品牌查詢 System.out.println("1.品牌查詢"); // 2.價(jià)格查詢 System.out.println("2.價(jià)格查詢"); System.out.println("3.返回上一層目錄"); System.out.println("請(qǐng)輸入你的選擇:"); String choose=scanner.next(); switch(choose){ case "1"://品牌查詢 searchByBranch(); break; case "2"://價(jià)格查詢 searchByPrice(); break; case "3": mainMenu(); break; default: searchGoods(); } } //后臺(tái)管理 public void controlGoods(){ System.out.println("--------后臺(tái)管理--------"); // 1.新增商品 System.out.println("1.新增商品"); // 2.修改價(jià)格 System.out.println("2.修改價(jià)格"); // 3.刪除商品 System.out.println("3.刪除商品"); System.out.println("4.返回主菜單"); System.out.println("請(qǐng)輸入選擇:"); String choose=scanner.next(); switch (choose){ case "1"://新增商品 addGoods(); break; case "2"://修改價(jià)格 changePrice(); break; case "3"://刪除商品 deleteGoods(); break; case "4"://返回主菜單 mainMenu(); break; default: controlGoods(); } } //根據(jù)品牌查詢 public void searchByBranch(){ brandsDAO.findAll(); System.out.println("請(qǐng)輸入要查詢的品牌編號(hào):"); String brandsNum1=scanner.next(); if(isNumeric(brandsNum1)) { int brandsNum=Integer.parseInt(brandsNum1); List<Goods> temporlist = goodsDAO.searchByBranchId(brandsNum); if (temporlist == null) { System.out.println("沒有該品牌的商品"); searchGoods(); } for (int i = 0; i < temporlist.size(); i++) { System.out.println("序號(hào)" + (i + 1) + "\t" + "商品名字:" + temporlist.get(i).getGoodsName()); } System.out.println("請(qǐng)輸入要查詢的商品ID或輸入0返回上一層菜單。"); String choose1 = scanner.next(); if(isNumeric(choose1)) { int choose=Integer.parseInt(choose1); if (choose == 0) { searchGoods(); } else { if(choose>=1&&choose<=temporlist.size()){ Goods goods = temporlist.get(choose - 1); System.out.println("商品名稱:" + goods.getGoodsName() + "\t" + "品牌:" + brandsDAO.findNameById(goods.getBrandsNum()) + "\t" + "價(jià)格:" + goods.getGoodsPrice() + "元\t" + "類型:" + goods.getGoodsCategories()); searchGoods(); } else{ System.out.println("輸入序號(hào)超過邊界范圍,請(qǐng)重新輸入"); searchByBranch(); } } } else{ System.out.println("輸入錯(cuò)誤符號(hào),請(qǐng)重新選擇"); searchByBranch(); } } else{ System.out.println("輸入錯(cuò)誤符號(hào),請(qǐng)重新選擇"); searchByBranch(); } } //根據(jù)價(jià)格查詢 public void searchByPrice(){ System.out.println("請(qǐng)輸入要查詢的價(jià)格區(qū)間:最小價(jià)格 最大價(jià)格"); double minPrice=scanner.nextDouble(); double maxPrice=scanner.nextDouble(); List<Goods>temporlist=goodsDAO.searchByPrice(minPrice,maxPrice); if(temporlist==null){ System.out.println("沒有該區(qū)間的商品"); searchGoods(); } for(int i=0;i<temporlist.size();i++){ System.out.println("序號(hào)"+(i+1)+"\t"+"商品名字:"+temporlist.get(i).getGoodsName()); } System.out.println("請(qǐng)輸入要查詢的商品ID或輸入0返回上一層菜單。"); String choose1 = scanner.next(); if(isNumeric(choose1)) { int choose=Integer.parseInt(choose1); if (choose == 0) { searchGoods(); } else { if(choose>=1&&choose<=temporlist.size()) { Goods goods = temporlist.get(choose - 1); System.out.println("商品名稱:" + goods.getGoodsName() + "\t" + "品牌:" + brandsDAO.findNameById(goods.getBrandsNum()) + "\t" + "價(jià)格:" + goods.getGoodsPrice() + "元\t" + "類型:" + goods.getGoodsCategories()); searchGoods(); } else{ System.out.println("輸入數(shù)字超過邊界,請(qǐng)重新輸入"); searchByPrice(); } } } else{ System.out.println("輸入錯(cuò)誤符號(hào),請(qǐng)重新選擇"); searchByPrice(); } } //新增商品 public void addGoods(){ System.out.println("請(qǐng)輸入商品名稱:"); String goodsName=scanner.next(); System.out.println("請(qǐng)輸入商品價(jià)格:"); double goodsPrice=scanner.nextDouble(); System.out.println("請(qǐng)輸入品牌"); String brandsName=scanner.next(); int brandsNum; if(brandsDAO.findBranch(brandsName)){ brandsNum=brandsDAO.findByName(brandsName).getBrandsNum(); } else{ brandsNum=brandsDAO.brandsNumbers()+1; Brands brands=new Brands(brandsName,brandsNum); brandsDAO.addBranch(brands); } System.out.println("請(qǐng)輸入商品類型"); String goodsCate=scanner.next(); Goods goods=new Goods(goodsName,goodsPrice,0,goodsCate,brandsNum, UUID.randomUUID().toString()); goodsDAO.addGoods(goods); System.out.println("商品添加成功"); controlGoods(); } //改變價(jià)格 public void changePrice(){ System.out.println("--------修改價(jià)格------"); brandsDAO.findAll(); System.out.println("請(qǐng)輸入要查詢的品牌編號(hào):"); String brandsNum1=scanner.next(); if(isNumeric(brandsNum1)) { int brandsNum=Integer.parseInt(brandsNum1); List<Goods> temporlist = goodsDAO.searchByBranchId(brandsNum); if (temporlist == null) { System.out.println("沒有該品牌的商品"); changePrice(); } for (int i = 0; i < temporlist.size(); i++) { System.out.println("序號(hào)" + (i + 1) + "\t" + "商品名字:" + temporlist.get(i).getGoodsName() + "\t價(jià)格" + temporlist.get(i).getGoodsPrice() + "元"); } System.out.println("請(qǐng)輸入要修改價(jià)格的商品ID或輸入0返回上一層菜單。"); String choose1 = scanner.next(); if(isNumeric(choose1)) { int choose=Integer.parseInt(choose1); if (choose == 0) { controlGoods(); } else if(choose<=temporlist.size()) { System.out.println("請(qǐng)輸入要修改的價(jià)格:"); double price = scanner.nextDouble(); System.out.println("是否確定修改價(jià)格:是/否"); String endChoose = scanner.next(); if (endChoose.equals("是")) { goodsDAO.modify(temporlist.get(choose - 1).getGoodsNum(), price); System.out.println("價(jià)格修改完成"); controlGoods(); } else { controlGoods(); } } else{ System.out.println("輸入序號(hào)超過邊界,請(qǐng)重新輸入"); changePrice(); } } else{ System.out.println("輸入錯(cuò)誤符號(hào),請(qǐng)重新輸入"); changePrice(); } } else{ System.out.println("輸入錯(cuò)誤符號(hào),請(qǐng)重新輸入"); changePrice(); } } //刪除商品 public void deleteGoods(){ System.out.println("--------刪除商品------"); brandsDAO.findAll(); System.out.println("請(qǐng)輸入要查詢的品牌編號(hào):"); String brandsNum2=scanner.next(); if(isNumeric(brandsNum2)) { int brandsNum=Integer.parseInt(brandsNum2); List<Goods> temporlist = goodsDAO.searchByBranchId(brandsNum); if (temporlist == null) { System.out.println("沒有該品牌的商品"); deleteGoods(); } for (int i = 0; i < temporlist.size(); i++) { System.out.println("序號(hào)" + (i + 1) + "\t" + "商品名字:" + temporlist.get(i).getGoodsName()); } System.out.println("請(qǐng)輸入要?jiǎng)h除的商品ID或輸入0返回上一層菜單。"); String choose1 = scanner.next(); if(isNumeric(choose1)) { int choose=Integer.parseInt(choose1); if (choose == 0) { controlGoods(); } else if(choose<=temporlist.size()){ System.out.println("是否確定刪除:是/否"); String endChoose = scanner.next(); if (endChoose.equals("是")) { int brandsNum1 = temporlist.get(choose - 1).getBrandsNum(); goodsDAO.delete(temporlist.get(choose - 1).getGoodsNum()); System.out.println("刪除成功"); if (goodsDAO.searchByBranchId(brandsNum1) == null) { brandsDAO.deleteBrands(brandsNum1); brandsDAO.moveBrandsNum(brandsNum1); for (int i = brandsNum1; i <= brandsDAO.brandsNumbers(); i++) goodsDAO.changeByBranchId(i + 1); } controlGoods(); } else { controlGoods(); } } else{ System.out.println("輸入序號(hào)超過邊界,請(qǐng)重新輸入"); deleteGoods(); } } else{ System.out.println("輸入錯(cuò)誤符號(hào),請(qǐng)重新輸入"); deleteGoods(); } } else{ System.out.println("輸入錯(cuò)誤符號(hào),請(qǐng)重新輸入"); deleteGoods(); } } public boolean isNumeric(String str){ for (int i = str.length();--i>=0;){ if (!Character.isDigit(str.charAt(i))){ return false; } } return true; } }
注:以上代碼部分內(nèi)部類的導(dǎo)入未填寫
還需要一個(gè)測(cè)試類運(yùn)行
暫且略過
到此這篇關(guān)于Java實(shí)現(xiàn)商品管理系統(tǒng)代碼實(shí)例講解的文章就介紹到這了,更多相關(guān)Java實(shí)現(xiàn)商品管理系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java+MySQL實(shí)現(xiàn)圖書管理系統(tǒng)(完整代碼)
- Java實(shí)現(xiàn)寵物商店管理系統(tǒng)
- java實(shí)現(xiàn)停車場(chǎng)管理系統(tǒng)
- java實(shí)現(xiàn)商品信息管理系統(tǒng)
- java實(shí)現(xiàn)圖書館管理系統(tǒng)
- java實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
- java實(shí)現(xiàn)簡(jiǎn)單的學(xué)生信息管理系統(tǒng)代碼實(shí)例
- Java+Swing實(shí)現(xiàn)醫(yī)院管理系統(tǒng)的完整代碼
相關(guān)文章
java中VO和DTO之間的轉(zhuǎn)換實(shí)現(xiàn)
本文主要介紹了java中VO和DTO之間的轉(zhuǎn)換實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05SWT(JFace) 文本編輯器 實(shí)現(xiàn)代碼
SWT(JFace) 文本編輯器 實(shí)現(xiàn)代碼2009-06-06在SpringBoot: SpringBoot里面創(chuàng)建導(dǎo)出Excel的接口教程
這篇文章主要介紹了在SpringBoot: SpringBoot里面創(chuàng)建導(dǎo)出Excel的接口教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10profiles.active多環(huán)境開發(fā)、測(cè)試、部署過程
這篇文章主要介紹了profiles.active多環(huán)境開發(fā)、測(cè)試、部署,主要講如何使用profiles.active這個(gè)變量,讓我們?cè)陂_發(fā)過程快速切換環(huán)境配置,以及如何使一個(gè)部署適配各種不同的環(huán)境,需要的朋友可以參考下2023-03-03Java?遠(yuǎn)程調(diào)用失敗重試的操作方法
這篇文章主要介紹了Java?遠(yuǎn)程調(diào)用失敗重試的操作方法,今天給大家介紹了一下?Spring??的?@Retryable?注解使用,并通過幾個(gè) demo 來帶大家編寫了自己重試攔截器以及回滾方法,需要的朋友可以參考下2022-09-09