Java项目:springboot网上书城系统
作者主頁(yè):夜未央5788
?簡(jiǎn)介:Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者、Java項(xiàng)目、學(xué)習(xí)資料、技術(shù)互助
文末獲取源碼
項(xiàng)目介紹
本項(xiàng)目分為前后臺(tái),包含管理員與普通用戶兩種角色,普通用戶登錄前臺(tái),管理員登錄后臺(tái);
前臺(tái)包含以下功能:
登錄、注冊(cè)、圖書列表、商品詳情、加入購(gòu)物車、訂單列表、訂單詳情等功能。
后臺(tái)包含以下功能:
書籍管理、分類管理、訂單管理、用戶管理、上架書籍等功能。
環(huán)境需要
1.運(yùn)行環(huán)境:最好是java jdk 1.8,我們?cè)谶@個(gè)平臺(tái)上運(yùn)行的。其他版本理論上也可以。
2.IDE環(huán)境:IDEA,Eclipse,Myeclipse都可以。推薦IDEA;
3.tomcat環(huán)境:Tomcat 7.x,8.x,9.x版本均可
4.硬件環(huán)境:windows 7/8/10 1G內(nèi)存以上;或者 Mac OS;?
5.數(shù)據(jù)庫(kù):MySql 8.0版本;
6.是否Maven項(xiàng)目:是;
技術(shù)棧
1. 后端:SpringBoot
2. 前端:模板引擎thymeleaf+前端框架采用Layui
使用說(shuō)明
1. 使用Navicat或者其它工具,在mysql中創(chuàng)建對(duì)應(yīng)名稱的數(shù)據(jù)庫(kù),并導(dǎo)入項(xiàng)目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse導(dǎo)入項(xiàng)目,Eclipse/MyEclipse導(dǎo)入時(shí),若為maven項(xiàng)目請(qǐng)選擇maven;若為maven項(xiàng)目,導(dǎo)入成功后請(qǐng)執(zhí)行maven clean;maven install命令,然后運(yùn)行;
3. 將項(xiàng)目中application-pro.yml配置文件中的數(shù)據(jù)庫(kù)配置改為自己的配置;
4. 運(yùn)行項(xiàng)目,前臺(tái)訪問(wèn)地址:http://localhost:8082
前臺(tái)登錄用戶通過(guò)注冊(cè)功能自行注冊(cè)即可;
后臺(tái)訪問(wèn)地址:http://localhost:8082/admin/login
管理員賬號(hào)/密碼:admin/123456
運(yùn)行截圖
?
?
?
?
?
?
?
?
?代碼相關(guān)
書籍管理控制器
@RestController @RequestMapping("/book") public class BookController {@Autowiredprivate BookService bookService;@GetMapping("/searchid")public ResultVO bookSearchByBookId(Integer bookId) {// Book books=bookMapper.selectByBookId(bookIde);Book books = bookService.bookSearchById(bookId);if (books != null)return new ResultVO(ResultCode.SUCCESS,books);elsereturn new ResultVO(ResultCode.RECORD_NOT_FOUND, null);}@PostMapping("/delete")public ResultVO bookDelete(Integer bookId) {int books = bookService.bookDeleteSearchById(bookId);return new ResultVO(ResultCode.SUCCESS, null);}//添加驗(yàn)證注解@PostMapping("/insert")public ResultVO bookInsert(@Valid Book record) {int books = bookService.bookInsert(record);return new ResultVO(ResultCode.SUCCESS, null);}@GetMapping("/searchcode")public ResultVO bookSerchByCategoryCode(String catrgoryCode,Integer page,Integer limit) {List<Book> books = bookService.bookSearchByCode(catrgoryCode,page,limit);PageInfo pageInfo = new PageInfo(books);if(books.size()!=0){return new ResultVO(ResultCode.SUCCESS,(int)pageInfo.getTotal(), books);}elsereturn new ResultVO(ResultCode.RECORD_NOT_FOUND, null);}//添加驗(yàn)證注解@PostMapping("/update")public ResultVO bookUpdate(@Valid Book record) {int books = bookService.bookUpdate(record);return new ResultVO(ResultCode.SUCCESS, null);}/*** 多條件搜索 ----by guozongchao* @param book* @param page* @param limit* @return*/@GetMapping("/search")public ResultVO searchBooks(Book book,Integer page, Integer limit) {if(book.getBookName().isEmpty()){book.setBookName(null);}if(book.getIsbn().isEmpty()){book.setIsbn(null);}List<Book> books = bookService.searchBooks(book, page, limit);PageInfo pageInfo = new PageInfo(books);return new ResultVO(ResultCode.SUCCESS, (int) pageInfo.getTotal(), books);}}分類管理控制器
@RestController @RequestMapping("category") public class CategoryController {@Autowiredprivate CategoryService categoryService;@Resourceprivate CategoryMapper categoryMapper;@GetMapping("/searchcode")public ResultVO categorySearchByCode(String categoryCode){Category categories = categoryService.selectByByCategoryCode(categoryCode);if(categories!=null)return new ResultVO(ResultCode.SUCCESS,categories);elsereturn new ResultVO(ResultCode.RECORD_NOT_FOUND,null);}@PostMapping("/delete")public ResultVO categoryDelete(String categoryCode){int categories = categoryService.deleteByByCategoryCode(categoryCode);return new ResultVO(ResultCode.SUCCESS,null);}//添加驗(yàn)證@PostMapping("/insert")public ResultVO categoryInsert(@Valid Category record){int categories = categoryService.insert(record);return new ResultVO(ResultCode.SUCCESS,null);}//添加驗(yàn)證@PostMapping("/update")public ResultVO categoryUpdate(@Valid Category record){int categories = categoryService.updateByCategoryCode(record);return new ResultVO(ResultCode.SUCCESS,null);}//添加分頁(yè)@GetMapping("/searchall")public ResultVO categorySearchAll(Integer page,Integer limit){List<Category> categories = categoryService.selectAll(page==null?0:page,limit==null?10:limit);if(categories.size()!=0)return new ResultVO(ResultCode.SUCCESS,categories);elsereturn new ResultVO(ResultCode.RECORD_NOT_FOUND,null);} }購(gòu)物車管理控制器
@RestController @RequestMapping("/cart") public class ShoppingCartController {@Autowiredprivate ShoppingCartService shoppingCartService;/*** 根據(jù)用戶ID獲取該用戶的購(gòu)物車* @param session* @return*/@GetMapping("/list")public ResultVO getCartByUserId(HttpSession session) {User user = (User) session.getAttribute("user");List<ShoppingCart> carts = shoppingCartService.getShoppingCartsByUserId(user.getUserId());return new ResultVO(ResultCode.SUCCESS, carts);}/*** 更新購(gòu)物車的商品數(shù)量* @param cartId 購(gòu)物車Id* @param quantity 商品購(gòu)買數(shù)量* @return*/@PutMapping("/list/{cartId}")public ResultVO updateCartItem(@PathVariable("cartId") Integer cartId,Integer quantity) {if(quantity<=0){throw new CustomizeException(ResultCode.FAILED,"購(gòu)物數(shù)量必須大于0");}if(quantity>10){throw new CustomizeException(ResultCode.FAILED,"每件商品限購(gòu)10件");}ShoppingCart cart = new ShoppingCart();cart.setCartId(cartId);cart.setQuantity(quantity);shoppingCartService.updateShoppingCart(cart);return new ResultVO(ResultCode.SUCCESS);}/*** 添加到購(gòu)物車請(qǐng)求處理** @param cart 接收前臺(tái)傳來(lái)的參數(shù)* @return*/@PostMapping("/list")public ResultVO addToShoppingCart(@Valid ShoppingCart cart, HttpSession session) {User user = (User) session.getAttribute("user");cart.setUserId(user.getUserId());shoppingCartService.addToShoppingCart(cart);return new ResultVO(ResultCode.SUCCESS);}/*** 刪除前臺(tái)傳來(lái)的cartId的購(gòu)物車項(xiàng)* @param cartId* @return*/@DeleteMapping("/list/{cartId}")public ResultVO deleteCartItem(@PathVariable("cartId") Integer cartId) {shoppingCartService.deleteShoppingCartByCartId(cartId);return new ResultVO(ResultCode.SUCCESS);}/*** 批量刪除購(gòu)物車* @param cartIds* @return*/@DeleteMapping("/list")public ResultVO deleteCartItem(@RequestBody int[] cartIds) {shoppingCartService.deleteShoppingCarts(cartIds);return new ResultVO(ResultCode.SUCCESS);}}如果也想學(xué)習(xí)本系統(tǒng),下面領(lǐng)取。回復(fù):076springboot
總結(jié)
以上是生活随笔為你收集整理的Java项目:springboot网上书城系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 霍尼236主机说明书_霍尼韦尔236系统
- 下一篇: Windows下Nginx源码编译指南