当前位置: 首页 > 编程日记 > 正文

Java项目:网上电商项目(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)

源码获取:博客首页 "资源" 里下载!

一、项目简述

本系统功能包括: 一款基于Springboot+Vue的电商项目,前后端分离项目,前台后台都有,前台商品展示购买,购物车分类,订 单查询等等,后台商品管理,订单管理,信息维护,用户管理等等。本期源码免费,部分bug小辰已经处理完毕, 可放心下载,关注小辰哥的Java微信号,点击右下角联系我们加群即可,已发送到群文件,贡多资源优先发布微信号。

二、项目运行

环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX (Webstorm也 行)+ Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts都支 持)。

项目技术: Springboot + Maven + Mybatis + Vue + Redis, B/S 模式+ Maven等等,附带支付宝沙箱环境以及支付环节代码。

订单相关业务:

/*** @description 订单相关业务*/@RestController
@CrossOrigin
public class OrderController {final OrderService orderService;final ProductService productService;final LogisticsService logisticsService;final RedisTemplate<String,String> redisTemplate;public OrderController(RedisTemplate<String,String> redisTemplate,OrderService orderService,LogisticsService logisticsService,ProductService productService) {this.orderService = orderService;this.productService = productService;this.logisticsService = logisticsService;this.redisTemplate = redisTemplate;}@RequestMapping(value = "/order/findById")private CommonResult findOrderById(Integer orderId) {Order order= orderService.selectById(orderId);if(orderId!=null){return CommonResult.success("订单信息查询成功",order);}else{return CommonResult.error("订单信息查询失败");}}@RequestMapping(value = "/order/findOrderInfo")private CommonResult findOrderInfo(String userAccount) {List<Map<String, Object>> orderMap = orderService.selectAllOrder(userAccount);if(orderMap!=null){return CommonResult.success("订单信息查询成功",orderMap);}else{return CommonResult.error("订单信息查询失败");}}@RequestMapping(value = "/order/findAll")private CommonResult findAllOrder() {List<Order> orders = orderService.selectAll();System.out.println(orders);if(orders!=null){return CommonResult.success("订单信息查询成功",orders);}else{return CommonResult.error("订单信息查询失败");}}@RequestMapping(value = "/order/findCount")private CommonResult findCount() {Integer count = orderService.selectCount();if(count!=null){return CommonResult.success("订单数量查询成功",count);}else{return CommonResult.error("订单数量查询失败");}}@RequestMapping(value = "/order/add")private CommonResult addOrder(Order order) {if(order!=null){if(order.getProductNo().contains("Vip")){if(orderService.insertData(order)){return CommonResult.success("创建订单成功",order);}else{return CommonResult.error("创建订单失败");}}else{Product product = productService.selectByKey(order.getProductNo());Integer productStock = product.getProductStock();Integer payAmount = order.getPayAmount();boolean isOk =productStock >= payAmount;if(isOk){Product newProduct = new Product();newProduct.setProductId(product.getProductId());int newStock = productStock - payAmount;newProduct.setProductStock(newStock);newProduct.setIsStockOut(newStock<product.getLowestStock());// 如果库存小于等于0,自动下架newProduct.setIsSale(newStock>0);if(productService.updateById(newProduct)){if(orderService.insertData(order)){redisTemplate.opsForValue().set(order.getOrderNo(),order.getOrderNo(),24, TimeUnit.HOURS);return CommonResult.success("创建订单成功",order);}else{return CommonResult.error("创建订单失败");}}else{return CommonResult.error("创建订单失败");}}else{return CommonResult.error("商品库存不足");}}}else{return CommonResult.error("订单数据不完整");}}@RequestMapping(value = "/order/cartOrder")private CommonResult cartOrder(String orderNo,String ordersInfo) {JSONArray jsonArray = JSON.parseArray(ordersInfo);List<Order> orders = JSONObject.parseArray(jsonArray.toJSONString(), Order.class);if(orders!=null){ArrayList<String> orderInfo = new ArrayList<>();ArrayList<String> productInfo = new ArrayList<>();for (Order order : orders) {Product product = productService.selectByKey(order.getProductNo());Integer productStock = product.getProductStock();Integer payAmount = order.getPayAmount();boolean isOk =productStock >= payAmount;if(isOk){Product newProduct = new Product();newProduct.setProductId(product.getProductId());int newStock = productStock - payAmount;newProduct.setProductStock(newStock);newProduct.setIsStockOut(newStock<product.getLowestStock());// 如果库存小于等于0,自动下架newProduct.setIsSale(newStock>0);if(productService.updateById(newProduct)){if(orderService.insertData(order)){orderInfo.add(order.getOrderNo());productInfo.add(order.getProductNo());}}}}if(orderInfo.size()!=0){String orderNoInfo = StringUtils.join(orderInfo, ",");String productNoInfo = StringUtils.join(productInfo, ",");redisTemplate.opsForValue().set(orderNo,orderNoInfo,24, TimeUnit.HOURS);return CommonResult.success("创建订单成功",productNoInfo);}else{return CommonResult.success("创建订单失败");}}else{return CommonResult.error("订单数据不完整");}}@RequestMapping(value = "/order/update")private CommonResult updateOrder(Order order) {if(orderService.updateById(order)){return CommonResult.success("修改订单成功",order);}else{return CommonResult.error("修改订单失败");}}@RequestMapping(value = "/order/delete")private CommonResult deleteOrder(Integer orderId) {if(orderService.deleteById(orderId)){return CommonResult.success("删除订单成功","订单id:"+orderId);}else{return CommonResult.error("删除订单失败");}}@RequestMapping(value = "/order/receipt")private CommonResult updateOrder(Integer orderId) {Order order = new Order();order.setOrderId(orderId);order.setOrderState("已收货");if(orderService.updateById(order)){return CommonResult.success("商品收货成功",order);}else{return CommonResult.error("商品收货失败");}}@RequestMapping(value = "/orderDetail/orderInfo")private CommonResult orderInfo(String orderNo) {ArrayList<Object> resultList = new ArrayList<>();Order order = orderService.selectByKey(orderNo);Logistics logistics = logisticsService.selectOrderNo(orderNo);if(order!=null){resultList.add(order);}if(logistics!=null){resultList.add(logistics);}if(resultList.size()!=0){return CommonResult.success("订单详情查询成功",resultList);}else{return CommonResult.error("订单详情查询失败");}}
}

数据分析,商品数量,订单数量等分析业务:

/*** @description 数据分析,商品数量,订单数量等分析业务*/
@CrossOrigin
@RestController
public class OverViewController {final OrderService orderService;final ProductService productService;final ReturnGoodsService returnGoodsService;public OverViewController(OrderService orderService,ProductService productService,ReturnGoodsService returnGoodsService) {this.orderService = orderService;this.productService = productService;this.returnGoodsService = returnGoodsService;}@RequestMapping(value = "/view/dataInfo")private CommonResult dataInfo() {Map<String, Object> resultMap = new HashMap<>();Map<String, Object> productMap = productService.productOverview();Map<String, Object> orderMap = orderService.orderOverview();Map<String, Object> returnGoodsMap = returnGoodsService.returnGoodsOverview();if(productMap!=null){resultMap.putAll(productMap);}if(orderMap!=null){resultMap.putAll(orderMap);}if(returnGoodsMap!=null){resultMap.putAll(returnGoodsMap);}if(resultMap.size()!=0){return CommonResult.success("查询成功",resultMap);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/view/orderChartDATE")private CommonResult orderChartDATE(String startTime,String endTime) {Map<String, Object> data = new HashMap<>();List<Map<String, Object>> lineData = orderService.selectChartDATE(startTime,endTime);List<Map<String, Object>> ringData = orderService.selectProductTypeChart(startTime, endTime);Map<String, Object> countData = orderService.selectCountAndAmount(startTime,endTime);if(lineData.size()!=0){data.put("lineData",lineData);}if(ringData.size()!=0){data.put("ringData",ringData);}if(countData.size()!=0){data.put("countData",countData);}if(data.size()!=0){return CommonResult.success("查询成功",data);}else{return CommonResult.error("查询失败");}}}

商品相关业务:

/*** @description 商品相关业务*/@RestController
@CrossOrigin
public class ProductController {final ProductTypeService productTypeService;final ProductBrandService productBrandService;final ProductService productService;public ProductController(ProductService productService, ProductTypeService productTypeService,ProductBrandService productBrandService) {this.productTypeService = productTypeService;this.productBrandService = productBrandService;this.productService = productService;}/*商品类别*/@RequestMapping(value = "/product/findById")private CommonResult findById(Integer productId) {Product product = productService.selectById(productId);if(product!=null){return CommonResult.success("商品查询成功",product);}else{return CommonResult.error("商品查询失败");}}@RequestMapping(value = "/product/findByKey")private CommonResult findByKey(String productNo) {Product product = productService.selectByKey(productNo);if(product!=null){return CommonResult.success("商品查询成功",product);}else{return CommonResult.error("商品查询失败");}}@RequestMapping(value = "/product/findIdByKey")private CommonResult findIdByKey(String productNo) {Integer productId = productService.selectIdByKey(productNo);if(productId!=null){return CommonResult.success("商品id查询成功",productId);}else{return CommonResult.error("商品id查询失败");}}@RequestMapping(value = "/product/findCount")private CommonResult findCount() {Integer count = productService.selectCount();if(count!=null){return CommonResult.success("商品数量查询成功",count);}else{return CommonResult.error("商品数量查询失败");}}@RequestMapping(value = "/product/existsKey")private CommonResult existsKey(String productNo) {Boolean isExist = productService.existsWithPrimaryKey(productNo);if(isExist!=null){return CommonResult.success("商品是否存在查询成功",isExist);}else{return CommonResult.error("商品是否存在查询失败");}}@RequestMapping(value = "/product/existsType")private CommonResult existsType(String productType) {Boolean isExist = productService.existsProductType(productType);if(isExist!=null){return CommonResult.success("查询成功",isExist);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/product/existsBrand")private CommonResult existsBrand(String productBrand) {Boolean isExist = productService.existsProductBrand(productBrand);if(isExist!=null){return CommonResult.success("查询成功",isExist);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/product/findAll")private CommonResult findAll() {List<Product> products = productService.selectAll();if(products!=null){return CommonResult.success("全部商品信息查询成功",products);}else{return CommonResult.error("全部商品信息查询失败");}}@RequestMapping(value = "/product/findAllSale")private CommonResult findAllSale() {List<Product> products = productService.selectAllSale();if(products!=null){return CommonResult.success("全部商品信息查询成功",products);}else{return CommonResult.error("全部商品信息查询失败");}}@RequestMapping(value = "/product/findAllLikeName")private CommonResult findAllLikeName(String keyWord) {List<Product> products = productService.selectAllLikeName(keyWord);if(products!=null){return CommonResult.success("全部商品信息查询成功",products);}else{return CommonResult.error("全部商品信息查询失败");}}@RequestMapping(value = "/product/findAllLikeType")private CommonResult findAllLikeType(String keyWord) {List<Product> products = productService.selectAllLikeType(keyWord);if(products!=null){return CommonResult.success("全部商品信息查询成功",products);}else{return CommonResult.error("全部商品信息查询失败");}}@RequestMapping(value = "/product/findAllLikeBrand")private CommonResult findAllLikeBrand(String keyWord) {List<Product> products = productService.selectAllLikeBrand(keyWord);if(products!=null){return CommonResult.success("全部商品信息查询成功",products);}else{return CommonResult.error("全部商品信息查询失败");}}@RequestMapping(value = "/product/findAllByType")private CommonResult findAllByType() {List<Map<String, Object>> maps = productService.selectAllByType();if(maps!=null){return CommonResult.success("商品分类信息查询成功",maps);}else{return CommonResult.error("商品分类信息查询失败");}}@RequestMapping(value = "/product/add")private CommonResult add(Product product) {System.out.println(product);if(productService.insertData(product)){return CommonResult.success("添加商品成功",product);}else{return CommonResult.error("添加商品失败");}}@RequestMapping(value = "/product/update")private CommonResult update(Product product) {if(product.getIsNew()!=null && product.getIsNew()){product.setSaleTime(new Date());}if(productService.updateById(product)){return CommonResult.success("修改商品成功",product);}else{return CommonResult.error("修改商品失败");}}@RequestMapping(value = "/product/delete")private CommonResult delete(Integer productId) {if(productService.deleteById(productId)){return CommonResult.success("商品删除成功","productId:" + productId);}else{return CommonResult.error("商品删除失败");}}/*商品类别*/@RequestMapping(value = "/productType/add")private CommonResult addType(ProductType productType) {if(productTypeService.insertData(productType)){return CommonResult.success("商品分类添加成功",productType);}else{return CommonResult.error("商品分类添加失败");}}@RequestMapping(value = "/productType/update")private CommonResult updateType(ProductType productType) {if(productTypeService.updateById(productType)){return CommonResult.success("商品分类修改成功",productType);}else{return CommonResult.error("商品分类修改失败");}}@RequestMapping(value = "/productType/deleteById")private CommonResult deleteTypeById(Integer typeId) {if(productTypeService.deleteById(typeId)){return CommonResult.success("商品分类删除成功","typeId: "+typeId);}else{return CommonResult.error("商品分类删除失败");}}@RequestMapping(value = "/productType/deleteByName")private CommonResult deleteTypeByName(String typeName) {if(productTypeService.deleteByName(typeName)){return CommonResult.success("商品分类删除成功","typeName: "+typeName);}else{return CommonResult.error("商品分类删除失败");}}@RequestMapping(value = "/productType/existsTypeName")private CommonResult existsTypeName(Integer typeId,String typeName) {Boolean isExist = productTypeService.existsWithTypeName(typeId,typeName);if(isExist!=null){return CommonResult.success("查询成功",isExist);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/productType/findAll")private CommonResult findAllType() {List<ProductType> productTypes = productTypeService.selectAll();if(productTypes!=null){return CommonResult.success("商品分类查询成功",productTypes);}else{return CommonResult.error("商品分类查询失败");}}@RequestMapping(value = "/productType/findAllName")private CommonResult findAllTypeName() {List<String> names = productTypeService.selectAllName();if(names!=null){return CommonResult.success("商品分类名称查询成功",names);}else{return CommonResult.error("商品分类名称查询失败");}}/*商品品牌*/@RequestMapping(value = "/productBrand/add")private CommonResult addBrand(ProductBrand productBrand) {if(productBrandService.insertData(productBrand)){return CommonResult.success("商品品牌添加成功",productBrand);}else{return CommonResult.error("商品品牌添加失败");}}@RequestMapping(value = "/productBrand/update")private CommonResult updateBrand(ProductBrand productBrand) {if(productBrandService.updateById(productBrand)){return CommonResult.success("商品品牌修改成功",productBrand);}else{return CommonResult.error("商品品牌修改失败");}}@RequestMapping(value = "/productBrand/deleteById")private CommonResult deleteBrandById(Integer brandId) {if(productBrandService.deleteById(brandId)){return CommonResult.success("商品品牌删除成功","brandId: "+brandId);}else{return CommonResult.error("商品品牌删除失败");}}@RequestMapping(value = "/productBrand/deleteByName")private CommonResult deleteBrandByName(String brandName) {if(productBrandService.deleteByName(brandName)){return CommonResult.success("商品品牌删除成功","brandName: "+brandName);}else{return CommonResult.error("商品品牌删除失败");}}@RequestMapping(value = "/productBrand/findAll")private CommonResult findAllBrand() {List<ProductBrand> productBrands = productBrandService.selectAll();if(productBrands!=null){return CommonResult.success("商品品牌查询成功",productBrands);}else{return CommonResult.error("商品品牌查询失败");}}@RequestMapping(value = "/productBrand/existsBrandName")private CommonResult existsBrandName(Integer brandId,String brandName) {Boolean isExist = productBrandService.existsWithBrandName(brandId,brandName);if(isExist!=null){return CommonResult.success("查询成功",isExist);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/productBrand/findAllName")private CommonResult findAllBrandName() {List<String> names = productBrandService.selectAllName();if(names!=null){return CommonResult.success("商品品牌名称查询成功",names);}else{return CommonResult.error("商品品牌名称查询失败");}}
}

用户授权等相关业务:

/*** @description 用户授权等相关业务*/@RestController
@CrossOrigin
public class RoleController {final RoleService roleService;public RoleController(RoleService roleService) {this.roleService = roleService;}/*根据id查询用户*/@RequestMapping(value = "/role/findById")private CommonResult findById(Integer roleId) {Role role = roleService.selectById(roleId);if(role!=null){return CommonResult.success("查询成功",role);}else{return CommonResult.error("查询失败");}}/*根据角色名称查询角色*/@RequestMapping(value = "/role/findByKey")private CommonResult findByKey(String roleName) {Role role = roleService.selectByKey(roleName);if(role!=null){return  CommonResult.success("查询成功",role);}else{return CommonResult.error("查询失败");}}/*根据key查询用户*/@RequestMapping(value = "/role/existRoleName")private CommonResult existRoleName(Integer roleId,String roleName) {Boolean isExist = roleService.existsRoleName(roleId,roleName);if(isExist!=null){return  CommonResult.success("查询成功",isExist);}else{return CommonResult.error("查询失败");}}/*查询所有角色信息*/@RequestMapping(value = "/role/findAll")private CommonResult findAll() {List<Role> roles = roleService.selectAll();if(roles!=null){return CommonResult.success("查询成功",roles);}else{return CommonResult.error("查询失败");}}/*查询所有用户*/@RequestMapping(value = "/role/findAllUsable")private CommonResult findAllUsable() {List<Role> roles = roleService.selectAllUsable();if(roles!=null){return CommonResult.success("查询成功",roles);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/role/count")private CommonResult findCount() {Integer count = roleService.selectCount();if(count!=null){return CommonResult.success("查询成功",count);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/role/findIdByKey")private CommonResult findIdByKey(String key) {Integer id = roleService.selectIdByKey(key);if(id!=null){return CommonResult.success("查询成功","id: "+id);}else{return CommonResult.error("查询失败");}}@RequestMapping(value = "/role/add")private CommonResult add(Role role) {if(role!=null){if(roleService.insertData(role)){return CommonResult.success("添加成功",role);}else{return CommonResult.error("添加失败");}}return CommonResult.error("用户数据不存在");}@RequestMapping(value = "/role/update")private CommonResult update(Role role) {System.out.println(role);if(roleService.updateById(role)){return CommonResult.success("更新成功",role);}else{return CommonResult.error("更新失败");}}@RequestMapping(value = "/role/delete")private CommonResult delete(Integer roleId) {if(roleService.deleteById(roleId)){return CommonResult.success("删除成功",roleId);}else{return CommonResult.error("删除失败");}}
}

源码获取:博客首页 "资源" 里下载!

相关文章:

3月7日 ArrayList集合

ArrayList与数组的区别&#xff1a; 数组是连续的、同一类型数据的一块区域&#xff0c;而集合可以是不连续的、多种数据类型的。 1.ArrayList ArrayList al new ArrayList(); al.Add(3); al.Add(5.09); al.Add("gfdg"); al.Inse…

什么时候出生好?

从年龄来说&#xff0c;女人头一胎的怀孕时间最好在35岁以前&#xff0c;因为过了35岁后不孕和头胎生育缺陷的比例会大幅度升高。那么&#xff0c;从孩子的角度&#xff0c;什么时候出生好&#xff1f;很多人不考虑这个问题&#xff0c;能不能怀上还难说那。迷信的人则追求出生…

数据库搜索与索引

索引是对数据库表中一列或多列的值进行排序的一种结构&#xff0c;使用索引可快速访问数据库表中的特定信息。如果想按特定职员的姓来查找他或她&#xff0c;则与在表中搜索所有的行相比&#xff0c;索引有助于更快地获取信息。 索引的一个主要目的就是加快检索表中数据&#x…

Clion 远程开发 配置

文章目录1. 增加远端服务工具2. 配置远端服务器3. 配置编译选项4. 设置远端开发路径Clion作为C/C语言友好的IDE&#xff0c;除了高效的代码索引 以及 基本的本地开发 能力之外还需要有远程开发能力&#xff0c;即我们工作中的代码处于远端linux服务器之上&#xff0c;通过在本地…

Java项目:朴素风个人博客系统(前后端分离+java+vue+Springboot+ssm+mysql+maven+redis)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 本系统功能包括&#xff1a; 基于vue Springboo痼J后端分离项目个人博客系统&#xff0c;注册 登录&#xff0c;首页展示&#xff0c;喜爰图书展示&#xff0c;后台图书维护&#xff0c;个人…

NodeJS+Mongodb+Express做CMS博客系统

楼主正在用业余时间开发中…… &#xff0c;目前的版本仅支持会员系统&#xff0c;尝鲜一下吧~ hi-blog 一个 nodejsexpressmongodb 的 cms 系统怎么启动 默认你已经安装了 mongodb &#xff1b;那么你得这样操作&#xff1a;安装项目 -> 初始化管理员 -> 运行项目 1、请…

Piranha实验总结

操作系统&#xff1a;rhel5.8分别在DirectorMaster和DirectorBackup上部署浮动资源(VIP IPVS策略)测试2个Director在DR模式下是否都可以正常工作。测试完成后都撤掉浮动资源。DirectorMaster[rootlocalhost ~]#yum install piranha[rootlocalhost ~]#piranha-passwdNew Passwor…

虚IP切换原理

高可用性HA&#xff08;High Availability&#xff09;指的是通过尽量缩短因日常维护操作&#xff08;计划&#xff09;和突发的系统崩溃&#xff08;非计划&#xff09;所导致的停机时间&#xff0c;以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的…

vim 键盘宏操作 -- 大道至简

最近利用vim做一些文本处理时 发现vim 支持的键盘宏是一个好东西啊&#xff0c;高效优雅得处理大量需要重复性操作的文本&#xff0c;让人爱不释手&#xff01;&#xff01;&#xff01; 希望接下来对键盘宏的分享能够实际帮助到大家。 后文中描述的一些vim操作会汇集成指令字…

Java项目:家居购物商城系统(java+html+jdbc+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能&#xff1a; Java Web精品项目源码&#xff0c;家居商城分类展示&#xff0c;商品展示&#xff0c; 商品下单&#xff0c;购物车&#xff0c;个人中心&#xff0c;后台管理&#xff0c;用…

leetcode:Search in Rotated Sorted Array

题目要求&#xff1a; Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). You are given a target value to search. If found in the array return its index, otherwise return -1. You may a…

解决Debian-7.1下Chrome浏览器字体难看的问题

首先在 Advance Setting 的 font 标签页下做如下配置&#xff1a; 然后在用户目录下创建 .fonts.conf 文件&#xff0c;内容如下&#xff1a; <?xml version1.0?> <!DOCTYPE fontconfig SYSTEM fonts.dtd> <fontconfig><match target"font"&g…

HDU.4903.The only survival(组合 计数)

题目链接 惊了 \(Description\) 给定\(n,k,L\)&#xff0c;表示&#xff0c;有一张\(n\)个点的无向完全图&#xff0c;每条边的边权在\([1,L]\)之间。求有多少张无向完全图满足&#xff0c;\(1\)到\(n\)的最短路为\(k\)。\(n,k\leq 12,\ L\leq10^9\)。 \(Solution\) 考虑暴力&a…

Rocksdb 写入数据后 GetApproximateSizes 获取的大小竟然为0?

项目开发中需要从引擎 获取一定范围的数据大小&#xff0c;用作打点上报&#xff0c;测试过程中竟然发现写入了一部分数据之后通过GetApproximateSizes 获取写入的key的范围时取出来的数据大小竟然为0。。。难道发现了一个bug?&#xff08;欣喜&#xff09; 因为写入的数据是…

Java项目:在线婚纱摄影预定系统(java+javaweb+SSM+springboot+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能&#xff1a; 前后用户的登录注册&#xff0c;婚纱照片分类&#xff0c;查看&#xff0c;摄影师预 订&#xff0c;后台订单管理&#xff0c;图片管理等等。 二、项目运行 环境配置&am…

Linux Terminal 控制终端的使用

1. Open new Terminal&#xff1a;Ctrl Alt T 或者 Ctrl Shift N 2. Open Tab&#xff1a;Ctrl Shift T 3. Close Tab&#xff1a;Ctrl Shift W 4. Close Window&#xff1a;Ctrl Shift Q 5. Copy : Ctrl Shift C 6. Paste: Ctrl Shift V 7. Full Screen: F11 8.…

如何防止代码腐烂

http://blog.jobbole.com/5643/ 很多团队都有这个问题&#xff0c;一个项目的代码本来开始设计得好好的&#xff0c;一段时间以后&#xff0c;代码就会变得难以理解&#xff0c;难以维护&#xff0c;难以修改。为什么&#xff1f;我一直在思考这个问题。 让我们先看一个人的情况…

CORS在Spring中的实现

CORS: 通常情况下浏览器禁止AJAX从外部获取资源&#xff0c;因此就衍生了CORS这一标准体系&#xff0c;来实现跨域请求。 CORS是一个W3C标准&#xff0c;全称是"跨域资源共享"&#xff08;Cross-origin resource sharing&#xff09;。它允许浏览器向跨源(协议 域名…

从BloomFilter到Counter BloomFilter

文章目录前言1. Traditional BloomFilter2. Counter BloomFilter本文traditional bloomfilter 和 counter bloomfilter的C实现 均已上传至&#xff1a; https://github.com/BaronStack/BloomFilter 前言 Bloomfilter 是一个老生常谈的数据结构&#xff0c;应用在存储领域的各…

进程、线程、多线程相关总结

进程、线程、多线程相关总结 一、说说概念 1、进程&#xff08;process&#xff09; 狭义定义&#xff1a;进程就是一段程序的执行过程。 广义定义&#xff1a;进程是一个程序关于某个数据集合的一次运行。它是操作系统动态执行的基本单元&#xff0c;在传统的操作系统中&#…

Java项目:在线蛋糕商城系统(java+jsp+jdbc+mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能&#xff1a; 主页显示热销商品&#xff1b;所有蛋糕商品展示&#xff0c;可进行商品搜 索&#xff1b;点击商品进入商品详情页&#xff0c;具有立即购买和加入购物 车功能&#xff0c;可…

业界对生成图片缩略图的做法归纳

网站如果有很多用户上传图片(相册&#xff0c;商品图片)&#xff0c;一般的做法是将用户图片保存在磁盘上面(数据库中记录图片的地址)。用户上传的时候按照原图、中图、小图等各个尺寸都生成一份保存在磁盘上。比如php的网店系统echsop就是这么做的&#xff0c;而shopex之类也大…

thinkPHP5.0 URL路由优化

在tp中访问页面的时候URL地址是 域名/模块/控制器/方法&#xff0c;在点击首页的时候URL是 域名/index/index/index 而不是只显示域名&#xff0c;这样不利于SEO&#xff0c;而且强迫症的我看着很不爽&#xff0c;这个时候我们需要优化路由 Route::rule(路由表达式,路由地址,请…

Rocksdb 获取当前db内部的有效key个数 (估值)

文章目录1. 基本接口2. Memtable key个数统计3. Immutable Memtable key个数统计4. Sstables key个数统计5. 疑问Rocksdb因为是AppendOnly 方式写入&#xff0c;所以没有办法提供db内部唯一key个数的接口&#xff08;可能存在多版本的key&#xff0c;对用户来说只有一个userkey…

Java项目:网上花店商城系统(java+jsp+servlert+mysql+ajax)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能&#xff1a; 一套完整的网上花店商场系统&#xff0c;系统支持前台会员的注册 登陆系统留言&#xff0c;花朵的品种选择&#xff0c;详情浏览&#xff0c;加入购物 车&#xff0c;购买花…

使用Uboot启动内核并挂载NFS根文件系统

配置编译好内核之后&#xff0c;将生成的内核文件uImage拷贝到/tftpboot/下&#xff0c;通过tftp服务器将内核下载到开发板&#xff0c;使用命令&#xff1a;tftp 31000000 uImage.下载完成之后配置bootargs环境变量&#xff1a;setenv bootargs noinitrd consolettySAC0,11520…

Centos系统上安装php遇到的错误解决方法集锦

Centos系统上安装php遇到的错误解决方法集锦1.configure: error: xml2-config not found. Please check your libxml2 installationyum install libxml2 libxml2-devel2.configure: error: Cannot find OpenSSL’s yum install openssl openssl-devel3.configure: error: Pleas…

2.27 MapReduce Shuffle过程如何在Job中进行设置

一、shuffle过程 总的来说&#xff1a; *分区 partitioner*排序 sort*copy (用户无法干涉) 拷贝*分组 group可设置 *压缩 compress*combiner map task端的Reduce二、示例 package com.ibeifeng.hadoop.senior.mapreduce;import java.io.IOException; import java.util.StringTo…

Rocksdb Slice使用中的一个小坑

本文记录一下使用Rocksdb Slice过程中的一个小小坑&#xff0c;差点没一口老血吐出来。 rocksdb的Slice 数据结构是一个小型得不可变类string数据结构&#xff0c;设计出来的目的是为了保证rocksdb内部处理用户输入的key在从内存到持久化磁盘的整个处理链路是不会被修改的&…

Java项目:仿天猫网上商城项目(java+jsp+servlet+mysql+ajax)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 功能&#xff1a; 前台&#xff1a; * 用户模块 * 分类模块 * 商品模块 * 购物车模块 * 订单模块 后台&#xff1a; * 管理员模块 * 分类管理模块 * 商品管理模块 * 订单模块…