圖書商城系統java項目ssm項目jsp項目java課程設計java畢業設計

文章目錄

  • 圖書商城系統
    • 一、項目演示
    • 二、項目介紹
    • 三、部分功能截圖
    • 四、部分代碼展示
    • 五、底部獲取項目源碼(9.9¥帶走)

圖書商城系統

一、項目演示

圖書商城系統

二、項目介紹

語言: Java 數據庫:MySQL

技術棧:Spring+SpringMVC+Mybatis+Jsp

系統角色:管理員、用戶

管理員:訂單發貨,刪除,查詢、用戶增刪改查、圖書類目增刪改查、圖書增刪改查

用戶:登錄、注冊、圖書商品展示、 添加購物車、購物車付款、用戶訂單查詢、搜索圖書

三、部分功能截圖

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

四、部分代碼展示

package com.vilicode.controller;import com.vilicode.bean.Book;
import com.vilicode.bean.Page;
import com.vilicode.bean.User;
import com.vilicode.mapper.RecommendMapper;
import com.vilicode.service.BookService;
import com.vilicode.service.BookTypeService;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;
import java.io.*;
import java.net.URLEncoder;
import java.util.Date;
import java.util.List;@Controller
public class BookController {@Autowiredpublic BookService bookService;@Autowiredpublic BookTypeService bookTypeService;@RequestMapping("/recommend_books")public String showRecommendBook(int rtype, int pageNumber, HttpServletRequest request){if(pageNumber<=0)pageNumber=1;Page p= bookService.queryBookByRecommendType(rtype,pageNumber);if(p.getTotalPage()==0){p.setTotalPage(1);p.setPageNumber(1);}else {if(pageNumber>=p.getTotalPage()+1){p = bookService.queryBookByRecommendType(rtype,p.getTotalPage());}}request.setAttribute("p", p);request.setAttribute("t", rtype);return "recommend_list";}@RequestMapping("/booktypes_list")public String showBooksByBookTypeID(int pageNumber, int btid,HttpServletRequest request){String btname="";if(btid!=0){btname=bookTypeService.queryBookTypeNameByBookTypeID(btid);}request.setAttribute("t",btname);//List<Goods> list=gService.selectGoodsByTypeID(id,1,8);//request.setAttribute("goodsList",list);if(pageNumber<=0)pageNumber=1;Page p=bookTypeService.queryBookByBookTypeID(btid,pageNumber);if(p.getTotalPage()==0){p.setTotalPage(1);p.setPageNumber(1);}else {if(pageNumber>=p.getTotalPage()+1){p=bookTypeService.queryBookByBookTypeID(btid,p.getTotalPage());}}request.setAttribute("p",p);request.setAttribute("btid",btid);return "booktypes_list";}@RequestMapping("/book_detail")public String showBookByID(int bid,HttpServletRequest request){Book book= bookService.queryBookByID(bid);request.setAttribute("book",book);return "book_detail";}@RequestMapping("/search_books")public String SearchBooksByKeyword(int pageNumber,String keyword,HttpServletRequest request) throws UnsupportedEncodingException {if(pageNumber<=0){pageNumber=1;}Page p =bookService.searchBooksByKeyword(keyword,pageNumber);if(p.getTotalPage()==0){p.setTotalPage(1);p.setPageNumber(1);}else {if(pageNumber>=p.getTotalPage()+1){p =bookService.searchBooksByKeyword(keyword,p.getTotalPage());}}request.setAttribute("p", p);request.setAttribute("keyword", URLEncoder.encode(keyword,"utf-8"));return "book_search";}@RequestMapping("/admin/type_list")public String ShowBookTypes(HttpServletRequest request){request.setAttribute("list",bookTypeService.queryBookTypes());return "admin/type_list";}@RequestMapping("/admin/type_add")public String CreateBookType(String btname,HttpServletRequest request){boolean result= bookTypeService.addBookType(btname);UpdateBookType(request);return "redirect:type_list.action";}@RequestMapping("/admin/type_delete")public String RemoveBookType(int btid,HttpServletRequest request){boolean result= bookTypeService.removeBookType(btid);UpdateBookType(request);return "redirect:type_list.action";}@RequestMapping("/admin/type_update")public String ModifyBookType(int btid,String btname,HttpServletRequest request){boolean result= bookTypeService.modifyBookType(btid,btname);UpdateBookType(request);return "redirect:type_list.action";}public void UpdateBookType(HttpServletRequest request){if(request.getServletContext().getAttribute("bookTypes")==null){request.getServletContext().setAttribute("bookTypes",bookTypeService.queryBookTypes());}else{request.getServletContext().removeAttribute("bookTypes");request.getServletContext().setAttribute("bookTypes",bookTypeService.queryBookTypes());}}@RequestMapping("/admin/book_list")public String ShowBookByRecommend(int pageNumber,int rtype,HttpServletRequest request){if(pageNumber<=0)pageNumber=1;Page p = bookService.queryBookByRecommendType(rtype, pageNumber);if(p.getTotalPage()==0){p.setTotalPage(1);p.setPageNumber(1);}else {if(pageNumber>=p.getTotalPage()+1){p = bookService.queryBookByRecommendType(rtype, p.getTotalPage());}}request.setAttribute("p", p);request.setAttribute("rtype", rtype);return "/admin/book_list";}@RequestMapping("/admin/book_change")public String ChangeBookRecommend(int bid,int rtype,String method,int page){boolean result=false;if(method.equals("add")) {result=bookService.addRecommend(bid,rtype);}else {result=bookService.remoteRecommend(bid,rtype);}return  "redirect:book_list.action?pageNumber=1&rtype="+page;}@RequestMapping("/admin/book_delete")public String DeleteBook(int bid,int rtype){boolean result=bookService.removeBookByBid(bid);//return  "redirect:book_list.action?pageNumber=1&rtype="+rtype;}@RequestMapping("/admin/book_add")public String uploadimg(HttpServletRequest request) throws Exception{DiskFileItemFactory factory=new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(factory);try {List<FileItem> list = upload.parseRequest(request);Book b = new Book();for(FileItem item:list) {if(item.isFormField()) {switch(item.getFieldName()) {case "bname":b.setBname(item.getString("utf-8"));break;case "bprice":b.setBprice(Double.parseDouble(item.getString("utf-8")));break;case "bmark":b.setBmark(item.getString("utf-8"));break;case "bstock":b.setBstock(Integer.parseInt(item.getString("utf-8")));break;case "btid":b.setBtid(Integer.parseInt(item.getString("utf-8")));break;case "bisbn":b.setBisbn(item.getString("utf-8"));break;case "bauthor":b.setBauthor(item.getString("utf-8"));break;case "bpublisher":b.setBpublisher(item.getString("utf-8"));break;}}else {if(item.getInputStream().available()<=0)continue;String fileName = item.getName();fileName = fileName.substring(fileName.lastIndexOf("."));fileName = "/"+new Date().getTime()+fileName;String path = request.getServletContext().getRealPath("/images")+fileName;InputStream in = item.getInputStream();FileOutputStream out = new FileOutputStream(path);byte[] buffer = new byte[1024];int len=0;while( (len=in.read(buffer))>0 ) {out.write(buffer);}in.close();out.close();item.delete();switch(item.getFieldName()) {case "bcover":b.setBcover("images"+fileName);break;case "bimage1":b.setBimage1("images"+fileName);break;case "bimage2":b.setBimage2("images"+fileName);break;}}}bookService.addBook(b);} catch (FileUploadException e) {System.out.println(e.getMessage());}return  "redirect:book_list.action?pageNumber=1&rtype=0";}@RequestMapping("/admin/book_edit_show")public String ShowBookByBid(int bid,HttpServletRequest request){Book b = bookService.queryBookByID(bid);request.setAttribute("g", b);return "admin/book_edit";}@RequestMapping("/admin/book_update")public String ModifyBook(HttpServletRequest request) throws Exception {DiskFileItemFactory factory=new DiskFileItemFactory();ServletFileUpload upload = new ServletFileUpload(factory);try {List<FileItem> list = upload.parseRequest(request);Book b=new Book();for(FileItem item:list) {if(item.isFormField()) {switch(item.getFieldName()) {case "bid":b.setBid(Integer.parseInt(item.getString("utf-8")));break;case "bname":b.setBname(item.getString("utf-8"));break;case "bprice":b.setBprice(Double.parseDouble(item.getString("utf-8")));break;case "bmark":b.setBmark(item.getString("utf-8"));break;case "bstock":b.setBstock(Integer.parseInt(item.getString("utf-8")));break;case "btid":b.setBtid(Integer.parseInt(item.getString("utf-8")));break;case "bisbn":b.setBisbn(item.getString("utf-8"));break;case "bauthor":b.setBauthor(item.getString("utf-8"));break;case "bpublisher":b.setBpublisher(item.getString("utf-8"));break;case "bcover":b.setBcover(item.getString("utf-8"));break;case "bimage1":b.setBimage1(item.getString("utf-8"));break;case "bimage2":b.setBimage2(item.getString("utf-8"));break;}}else {if(item.getInputStream().available()<=0)continue;String fileName = item.getName();fileName = fileName.substring(fileName.lastIndexOf("."));fileName = "/"+new Date().getTime()+fileName;String path = request.getServletContext().getRealPath("/images")+fileName;InputStream in = item.getInputStream();FileOutputStream out = new FileOutputStream(path);byte[] buffer = new byte[1024];int len=0;while( (len=in.read(buffer))>0 ) {out.write(buffer);}in.close();out.close();item.delete();switch(item.getFieldName()) {case "bcover":b.setBcover("images"+fileName);break;case "bimage1":b.setBimage1("images"+fileName);break;case "bimage2":b.setBimage2("images"+fileName);break;}}}bookService.modifyBook(b);//Service.update(g);//request.getRequestDispatcher("/admin/goods_list?pageNumber="+pageNumber+"&type="+type).forward(request, response);} catch (FileUploadException e) {System.out.println(e.getMessage());}return  "redirect:book_list.action?pageNumber=1&rtype=0";}
}
package com.vilicode.controller;import com.vilicode.bean.Book;
import com.vilicode.bean.Order;
import com.vilicode.bean.Page;
import com.vilicode.bean.User;
import com.vilicode.service.BookService;
import com.vilicode.service.OrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.List;@Controller
public class OrderController {@Autowiredpublic BookService bookService;@Autowiredpublic OrderService orderService;@RequestMapping(value = "/books_buy")public void AddBookToCart(@RequestParam("bid") int bid, HttpServletRequest request, HttpServletResponse response) throws IOException {Order o = null;if(request.getSession().getAttribute("order") != null) {o = (Order) request.getSession().getAttribute("order");}else {o = new Order();o.setOamount(0);o.setOtotal(0.0);request.getSession().setAttribute("order", o);}Book book = bookService.queryBookByID(bid);if(book.getBstock()>0) {o.addGoods(book);response.getWriter().print("ok");}else {response.getWriter().print("fail");}}@RequestMapping(value = "/books_lessen")public void LessenBookToCart(@RequestParam("bid") int bid, HttpServletRequest request, HttpServletResponse response) throws IOException {Order o = (Order) request.getSession().getAttribute("order");o.lessen(bid);response.getWriter().print("ok");}@RequestMapping(value = "/books_delete")public void DeleteBookToCart(@RequestParam("bid") int bid, HttpServletRequest request, HttpServletResponse response) throws IOException {Order o = (Order) request.getSession().getAttribute("order");o.delete(bid);response.getWriter().print("ok");}@RequestMapping(value = "/order_confirm")public String OrderConfirm( int opaytype,HttpServletRequest request){Order o = (Order) request.getSession().getAttribute("order");o.setOstatus(2);o.setOpaytype(opaytype);User user=(User)request.getSession().getAttribute("user");o.setUid(user.getUid());o.setOrealname(user.getUrealname());o.setOphone(user.getUphone());o.setOaddress(user.getUaddress());boolean result=orderService.addOrder(o);if(result){request.getSession().removeAttribute("order");request.setAttribute("msg", "訂單支付成功!");return "order_result";}else{request.setAttribute("failmsg", "訂單支付失敗!");return "order_result";}}@RequestMapping("/order_submit")public String OrderSubmit(HttpServletRequest request){if(request.getSession().getAttribute("user")!=null) {return "order_submit";}else {request.setAttribute("failMsg", "請登錄后,再提交訂單!");return "redirect:user_login.jsp";}}@RequestMapping("order_list")public String ShowOrderByUid(HttpServletRequest request){User user=(User)request.getSession().getAttribute("user");if(user==null){return "redirect:/index.action";}List<Order> orderList=orderService.queryOrderByUid(user.getUid());request.setAttribute("orderList", orderList);return "order_list";}@RequestMapping("/admin/order_list")public String ShowOrderList(int pageNumber,int ostatus,HttpServletRequest request){request.setAttribute("ostatus", ostatus);if(pageNumber<=0)pageNumber=1;Page p = orderService.queryOrdersByOstatus(ostatus,pageNumber);if(p.getTotalPage()==0){p.setTotalPage(1);p.setPageNumber(1);}else {if(pageNumber>=p.getTotalPage()+1){p = orderService.queryOrdersByOstatus(ostatus,p.getTotalPage());}}request.setAttribute("p", p);return "admin/order_list";}@RequestMapping("/admin/order_status_change")public String ChangeOrderStatusByOid(String oid,int ostatus,HttpServletRequest request){boolean result= orderService.updateOrderStatus(oid,ostatus);return "redirect:order_list.action?pageNumber=1&ostatus="+ostatus;}@RequestMapping("/admin/order_delete")public String DeleteOrderByOid(String oid,int ostatus,HttpServletRequest request){boolean result= orderService.deleteOrderByOid(oid);return "redirect:order_list.action?pageNumber=1&ostatus="+ostatus;}}
package com.vilicode.controller;import com.vilicode.Utils.MyCipher;
import com.vilicode.bean.Page;
import com.vilicode.bean.User;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import com.vilicode.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("/login")public String login(User tempUser, HttpServletRequest request, HttpSession session){String path="";User user=userService.login(tempUser.getUname());if(user==null){request.setAttribute("failMsg","用戶名不存在!");return "user_login";}if(tempUser.getUpwd().equals(user.getUpwd())){session.setAttribute("user", user);request.setAttribute("msg","登錄成功!");return "redirect:/index.action";}else{request.setAttribute("failMsg","密碼錯誤!");return "user_login";}}@RequestMapping("/register")public String register(User user, HttpServletRequest request){String path="";user.setUrole(1);user.setUmark("普通用戶");if(userService.register(user)){path="redirect:user_login.jsp";}else{request.setAttribute("msg","用戶名重復!");path="user_register";}return path;}@RequestMapping("/admin/user_add")public String AddUser(User user, HttpServletRequest request){user.setUrole(1);user.setUmark("普通用戶");if(userService.register(user)){return "redirect:user_list.action?pageNumber=1";}else{request.setAttribute("msg","用戶名重復!");return "admin/user_add";}}@RequestMapping("/logout")public String logout(HttpServletRequest request){request.getSession().removeAttribute("user");return "redirect:index.action";}@RequestMapping("/admin/logout")public String adminLogout(HttpServletRequest request){request.getSession().removeAttribute("user");return "redirect:index.action";}@RequestMapping("/change_phone_and_address")public String updateUphoneAndUaddress(int uid,String uphone,String uaddress,HttpServletRequest request){boolean result=userService.UpdatePhoneAndAddress(uid,uphone,uaddress);if(result){request.setAttribute("msg","修改成功!");User u=(User)request.getSession().getAttribute("user");u.setUaddress(uaddress);u.setUphone(uphone);request.getSession().removeAttribute("user");request.getSession().setAttribute("user",u);return "user_center";}else{request.setAttribute("failMsg","修改密碼時出現錯誤,請確認原密碼是否正確或聯系管理員!");return "user_center";}}@RequestMapping("/change_password")public String updatePassword(int uid,String oldupwd,String upwd,HttpServletRequest request){boolean result=userService.UpdatePassword(uid,upwd,oldupwd);if(result){request.setAttribute("msg","修改成功!");MyCipher myCipher=new MyCipher();User u=(User)request.getSession().getAttribute("user");u.setUpwd(myCipher.encrypt(upwd,"!"));request.getSession().removeAttribute("user");request.getSession().setAttribute("user",u);return "user_center";}else{request.setAttribute("failMsg","修改密碼時出現錯誤,請確認原密碼是否正確或聯系管理員!");return "user_center";}}@RequestMapping("admin/change_password")public String updatePassword(int uid,String upwd,HttpServletRequest request){boolean result=userService.UpdatePassword(uid,upwd);if(result){MyCipher myCipher=new MyCipher();request.setAttribute("msg","修改成功!");User u=(User)request.getSession().getAttribute("user");u.setUpwd(myCipher.encrypt(upwd,"!"));request.getSession().removeAttribute("user");request.getSession().setAttribute("user",u);return "redirect:user_list.action?pageNumber=1";}else{request.setAttribute("failMsg","修改失敗");return "redirect:user_list.action?pageNumber=1";}}@RequestMapping("admin/user_list")public String ShowUserList(int pageNumber,HttpServletRequest request){if(pageNumber<=0)pageNumber=1;Page p = userService.queryUser(pageNumber);if(p.getTotalPage()==0){p.setTotalPage(1);p.setPageNumber(1);}else {if(pageNumber>=p.getTotalPage()+1){p = userService.queryUser(p.getTotalPage());}}request.setAttribute("p", p);return "admin/user_list";}@RequestMapping("admin/user_delete")public String DeleteUser(int uid){boolean result= userService.deleteUser(uid);return "redirect:user_list.action?pageNumber=1";}@RequestMapping("/admin/user_edit_show")public String ChangeUser(int uid,HttpServletRequest request){User user=userService.queryUserByUid(uid);if(user==null)return "redirect:user_list.action?pageNumber=1";else{request.setAttribute("u",user);return "admin/user_edit";}}@RequestMapping("/admin/user_update")public String updateUser(int uid,String uphone,String uaddress,HttpServletRequest request){boolean result=userService.UpdatePhoneAndAddress(uid,uphone,uaddress);if(result){User user=(User)request.getSession().getAttribute("user");if(user.getUid()==uid){user.setUaddress(uaddress);user.setUphone(uphone);request.getSession().removeAttribute("user");request.getSession().setAttribute("user",user);}}return "redirect:user_list.action?pageNumber=1";}
}

五、底部獲取項目源碼(9.9¥帶走)

有問題,或者需要協助調試運行項目的也可以

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/41129.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/41129.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/41129.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SaaS行業的AI化征程:穿越“大模型焦慮”,擁抱“AI自信”

隨著大模型技術的風起云涌&#xff0c;SaaS行業正站在一個充滿機遇與挑戰的十字路口。本文旨在深入剖析SaaS廠商在AI化升級過程中所遭遇的“大模型焦慮”&#xff0c;并探索通過戰略性的AI應用策略&#xff0c;如何重拾信心&#xff0c;實現產品與服務的華麗轉身&#xff0c;為…

關于虛擬機上不了網的解決辦法

先ping出ip地址 或者查詢ifconfig得到目前網絡信息 繼續輸入命令Ifconfig -a查詢是否能找到ip地址 明顯ens33是沒有打開的&#xff0c;所以找不到分配的ip地址&#xff0c;需要打開&#xff0c;自動隨機分配ip 輸入命令&#xff1a; sudo dhclient ens33 現在就可以開始上網…

公司“領導”們竟如此討論工作!小伙:此事有蹊蹺;|國家漏洞庫CNNVD:關于OpenSSH安全漏洞的通報;

公司“領導”們竟如此討論工作&#xff01;小伙&#xff1a;此事有蹊蹺 “當時我正在等驗證碼 還好你們快了一步 不然公司的93萬余元就沒了” 一談到這件事 杜先生仍然心有余悸 近日 正在處理公司財務工作的杜先生 突然被拉進了一個QQ群聊 從頭像、昵稱上看 群聊里的竟…

累積分布函數的一些性質證明

性質1&#xff1a; E [ X ] ∫ 0 ∞ ( 1 ? F ( x ) ) d x ? ∫ ? ∞ 0 F ( x ) d x ( 1 ) E[X]\int_0^{\infty}(1-F(x))dx - \int_{-\infty}^0F(x)dx\quad (1) E[X]∫0∞?(1?F(x))dx?∫?∞0?F(x)dx(1) 證明&#xff1a; E [ X ] ∫ ? ∞ ∞ x p ( x ) d x E[X] …

SpringBoot | 大新聞項目后端(redis優化登錄)

該項目的前篇內容的使用jwt令牌實現登錄認證&#xff0c;使用Md5加密實現注冊&#xff0c;在上一篇&#xff1a;http://t.csdnimg.cn/vn3rB 該篇主要內容&#xff1a;redis優化登錄和ThreadLocal提供線程局部變量&#xff0c;以及該大新聞項目的主要代碼。 redis優化登錄 其實…

macOS版ChatGPT更新:修復AI對話純文本存儲問題

貓頭虎 &#x1f42f; 建聯貓頭虎&#xff0c;商務合作&#xff0c;產品評測&#xff0c;產品推廣&#xff0c;個人自媒體創作&#xff0c;超級個體&#xff0c;漲粉秘籍&#xff0c;一起探索編程世界的無限可能&#xff01; macOS版ChatGPT更新&#xff1a;修復AI對話純文本…

HOW - React Router v6.x Feature 實踐(react-router-dom)

目錄 基本特性ranked routes matchingactive linksNavLinkuseMatch relative links1. 相對路徑的使用2. 嵌套路由的增強行為3. 優勢和注意事項4. . 和 ..5. 總結 data loadingloading or changing data and redirectpending navigation uiskeleton ui with suspensedata mutati…

JAVA高級進階11多線程

第十一天、多線程 線程安全問題 線程安全問題 多線程給我們帶來了很大性能上的提升,但是也可能引發線程安全問題 線程安全問題指的是當個多線程同時操作同一個共享資源的時候,可能會出現的操作結果不符預期問題 線程同步方案 認識線程同步 線程同步 線程同步就是讓多個線…

內網滲透學習-殺入內網

1、靶機上線cs 我們已經拿到了win7的shell&#xff0c;執行whoami&#xff0c;發現win7是administrator權限&#xff0c;且在域中 執行ipconfig發現了win7存在內網網段192.168.52.0/24 kali開啟cs服務端 客戶端啟動cs 先在cs中創建一個監聽器 接著用cs生成后門&#xff0c;記…

Mysql 的第二次作業

一、數據庫 1、登陸數據庫 2、創建數據庫zoo 3、修改數據庫zoo字符集為gbk 4、選擇當前數據庫為zoo 5、查看創建數據庫zoo信息 6、刪除數據庫zoo 1&#xff09;登陸數據庫。 打開命令行&#xff0c;輸入登陸用戶名和密碼。 mysql -uroot -p123456 ? 2&#xff09;切換數據庫…

菜雞的原地踏步史(???)

leetcode啟動&#xff01;(╯‵□′)╯︵┻━┻ 嘗試改掉想到哪寫哪的代碼壞習慣 鏈表 相交鏈表 public class Solution {/**ac&#xff08;公共長度&#xff09;b所以 鏈表A的長度 a c&#xff0c;鏈表B的長度b ca b c b c a只要指針a從headA開始走&#xff0c;走完再…

利用pg_rman進行備份與恢復操作

文章目錄 pg_rman簡介一、安裝配置pg_rman二、創建表與用戶三、備份與恢復 pg_rman簡介 pg_rman 是 PostgreSQL 的在線備份和恢復工具。類似oracle 的 rman pg_rman 項目的目標是提供一種與 pg_dump 一樣簡單的在線備份和 PITR 方法。此外&#xff0c;它還為每個數據庫集群維護…

抖音使矛,美團用盾

有市場&#xff0c;就有競爭。抖音全力進軍本地生活市場欲取代美團&#xff0c;已不是新聞。 互聯網行業進入存量時代&#xff0c;本地生活市場是為數不多存在較大增長空間的賽道。艾媒咨詢數據顯示&#xff0c;預計2025年在線餐飲外賣市場規模達到17469億元&#xff0c;生鮮電…

Day05-01-jenkins進階

Day05-01-jenkins進階 10. 案例07: 理解 案例06基于ans實現10.1 整體流程10.2 把shell改為Ansible劇本10.3 jk調用ansible全流程10.4 書寫劇本 11. Jenkins進階11.1 jenkins分布式1&#xff09;概述2&#xff09;案例08&#xff1a;拆分docker功能3&#xff09;創建任務并綁定到…

安裝 ClamAV 并進行病毒掃描

安裝 ClamAV 并進行病毒掃描 以下是安裝 ClamAV 并使用它進行病毒掃描的步驟&#xff1a; 1. 安裝 ClamAV 在 Debian/Ubuntu 系統上&#xff1a; sudo apt update sudo apt install clamav clamav-daemon在 RHEL/CentOS 系統上&#xff1a; sudo yum install epel-release…

開發指南040-swagger加header

swagger可以在線生成接口文檔&#xff0c;便于前后端溝通&#xff0c;而且還可以在線調用接口&#xff0c;方便后臺調試。但是接口需要經過登錄校驗&#xff0c;部分接口還需要得到登錄token&#xff0c;使用token識別用戶身份進行后續操作。這種情況下&#xff0c;都需要接口增…

【刷題筆記(編程題)05】另類加法、走方格的方案數、井字棋、密碼強度等級

1. 另類加法 給定兩個int A和B。編寫一個函數返回AB的值&#xff0c;但不得使用或其他算數運算符。 測試樣例&#xff1a; 1,2 返回&#xff1a;3 示例 1 輸入 輸出 思路1: 二進制0101和1101的相加 0 1 0 1 1 1 0 1 其實就是 不帶進位的結果1000 和進位產生的1010相加 無進位加…

ssm校園志愿服務信息系統-計算機畢業設計源碼97697

摘 要 隨著社會的進步和信息技術的發展&#xff0c;越來越多的學校開始重視志愿服務工作&#xff0c;通過組織各種志愿服務活動&#xff0c;讓學生更好地了解社會、服務社會。然而&#xff0c;在實際操作中&#xff0c;志愿服務的組織和管理面臨著諸多問題&#xff0c;如志愿者…

dledger原理源碼分析系列(一)-架構,核心組件和rpc組件

簡介 dledger是openmessaging的一個組件&#xff0c; raft算法實現&#xff0c;用于分布式日志&#xff0c;本系列分析dledger如何實現raft概念&#xff0c;以及dledger在rocketmq的應用 本系列使用dledger v0.40 本文分析dledger的架構&#xff0c;核心組件&#xff1b;rpc組…

【pytorch16】MLP反向傳播

鏈式法則回顧 多輸出感知機的推導公式回顧 只與w相關的輸出節點和輸入節點有關 多層多輸入感知機 擴展為多層感知機的話&#xff0c;意味著還有一些層&#xff08;理解為隱藏層σ函數&#xff09;&#xff0c;暫且設置為 x j x_{j} xj?層 對于 x j x_{j} xj?層如果把前面的…