家居建材商城|基于Springboot+Vue实现家居建材商城

news2024/11/27 17:51:45

作者主页:编程指南针

作者简介:Java领域优质创作者、CSDN博客专家 、掘金特邀作者、多年架构师设计经验、腾讯课堂常驻讲师

主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助

收藏点赞不迷路  关注作者有好处

文末获取源码 

项目编号:BS-SC-041

一,项目简介

   

    本系统采用前后端分离开发模式。项目技术应用广泛,涵盖全栈、集群、分布式、高并发;技术应用场景合理,并非多技术的盲目堆叠;业务场景贴近实际,完全按照市场需求开发。 项目前端部分采用html5结合Thymeleaf和vue进行开发,利用WebSocket技术实现用户与商家聊天功能。在前后端数据交互时,使用JavaScript结合axios进行异步调用等进行开发。 项目后端利用MySQL数据库管理系统对数据进行管理。利用Redis数据库存储缓存信息。系统采用SpringBoot框架、MyBatis、MyBatisPlus、lombok日志、druid等进行开发。 ​

本项目主要分为三个模块,分别是系统管理员模块,商家模块以及普通用户模块。

管理员模块:

商家管理:对商家账户信息进行管理,审核新店铺的申请。

用户管理:可以对用户的信息进行修改、删除、添加。

商品管理:对所有的商品进行管理,包括强制下架。

订单管理:对所有的订单进行统一管理。

商家模块:

商品管理:对已经商家的商品进行修改或者上架和下架管理

商铺信息管理:用于商家对本商铺的信息进行管理,比如商店员工和销售情况等。

订单管理:用户商家对商品订单进行发货处理

商家信息维护:商家可以修改商铺的消息策略。

售后管理:用户商家处理一些订单售后申请。

普通用户模块:

登录注册:用户通过该功能进行手机号验证码注册账号与手机验证码账号登录。

商品搜索:用户可以输入需要购买的商品关键词进行查询,系统会查询所有商品信息反馈给用户。

商品查看:选择一个商品后,用户可以点进去查看商品详细信息,包括商家信息、商品图片或者商品。

商品购买:选择好需要的商品及可以下单,填写相关地址信息完,付款后即可完成购买。

与商家在线沟通:在商品详情页面,用户可以选择与商家在线沟通,询问商品的详细情况,比如商品质量以及发货地点,发货时间等。

订单查询:包括查看订单详情、申请售后、取消订单、删除订单等功能。

图 1系统功能模块图

 

 

本系统采用的是单库单应用架构。前端框架主要利用vue结合elementui进行。利用vue-router将前台页面进行路由。用户触发不同事件的时候,先判断用户是否具有浏览该页面的权限,如果没有权限则拦截页面跳转,同时提示用户没有权限。当用户拥有该权限或者该页面不需要权限的时候,利用Ajax发送异步请求到后台接口,请求后台数据。

请求到达后台后,会被Springmvc的前端控制器进行拦截。然后在业务层找到相应的controller进行处理。然后调用service层处理逻辑事务。然后会调用mybatis的方法对mysql数据库中的数据进行操作。最后将得到得数据一路返回,回到前端经过前台的渲染呈现给用户最终的页面效果。

二,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

后台开发:Springboot+Mybatis

前台开发:Vue+Nodejs+ElementUI

第三方技术:支付宝沙箱、阿里云OSS存储、腾讯云短信发送、邮箱发送等

三,系统展示

前端首页

 

详情展示

 

购物车

 我的订单

 个人中心

 

商家登陆:统计销售情况

商铺基本 信息管理

商品管理

 品牌管理

 商品规格

 查询入库记录

 订单管理

 退换货处理

 

后台管理员登陆

商铺管理

 商品管理

订单管理

 营销管理-轮播图管理

 营销管理-分类推荐

 用户-角色-权限管理

 

四,核心代码展示

package com.qiu.controller;

import com.qiu.entity.Role;
import com.qiu.service.RoleService;
import com.qiu.util.general.CommonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 用户授权等相关业务
 */
@CrossOrigin
@RestController
public class RoleController {
    @Autowired
    private RoleService roleService;

    /**
     * 根据id查询角色信息
     *
     * @param roleId 角色编号
     */
    @RequestMapping(value = "/role/findById")
    public CommonResult findById(Integer roleId) {
        Role role = roleService.selectById(roleId);
        if (role != null) {
            return CommonResult.success("查询成功", role);
        }
        return CommonResult.error("查询失败");
    }

    /**
     * 根据角色名称查询角色
     *
     * @param roleName 角色名称
     */
    @RequestMapping(value = "/role/findByKey")
    public CommonResult findByKey(String roleName) {
        Role role = roleService.selectByKey(roleName);
        if (role != null) {
            return CommonResult.success("查询成功", role);
        }
        return CommonResult.error("查询失败");
    }

    /**
     * 判断角色是否存在
     *
     * @param roleId   角色编号
     * @param roleName 角色名称
     */
    @RequestMapping(value = "/role/existRoleName")
    public CommonResult existRoleName(Integer roleId, String roleName) {
        boolean exist = roleService.existsRoleName(roleId, roleName);
        return CommonResult.success("查询成功", exist);
    }

    /**
     * 查询所有角色信息
     */
    @RequestMapping(value = "/role/findAll")
    public CommonResult findAll() {
        List<Role> roles = roleService.selectAll();
        if (roles != null) {
            return CommonResult.success("查询成功", roles);
        }
        return CommonResult.error("查询失败");
    }

    /**
     * 查询所有可用的角色信息
     */
    @RequestMapping(value = "/role/findAllUsable")
    public CommonResult findAllUsable() {
        List<Role> roles = roleService.selectAllUsable();
        if (roles != null) {
            return CommonResult.success("查询成功", roles);
        }
        return CommonResult.error("查询失败");
    }

    /**
     * 查询角色数量
     */
    @RequestMapping(value = "/role/count")
    public CommonResult findCount() {
        int count = roleService.selectCount();
        return CommonResult.success("查询成功", count);
    }

    /**
     * 新增角色信息
     *
     * @param role 角色信息
     */
    @RequestMapping(value = "/role/add")
    public CommonResult add(Role role) {
        if (role != null) {
            if (roleService.insertData(role)) {
                return CommonResult.success("添加成功", role);
            }
            return CommonResult.error("添加失败");
        }
        return CommonResult.error("角色信息不存在");
    }

    /**
     * 更新角色信息
     *
     * @param role 角色信息
     */
    @RequestMapping(value = "/role/update")
    public CommonResult update(Role role) {
        if (roleService.updateById(role)) {
            return CommonResult.success("更新成功", role);
        }
        return CommonResult.error("更新失败");
    }

    /**
     * 删除角色信息
     *
     * @param roleId 角色编号
     */
    @RequestMapping(value = "/role/delete")
    public CommonResult delete(Integer roleId) {
        if (roleService.deleteById(roleId)) {
            return CommonResult.success("删除成功", roleId);
        }
        return CommonResult.error("删除失败");
    }
}
package com.qiu.controller;

import com.qiu.entity.ShoppingCart;
import com.qiu.service.ShoppingCartService;
import com.qiu.util.general.CommonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

/**
 * 购物车业务类
 */
@RestController
@CrossOrigin
public class ShoppingCartController {

    @Autowired
    private ShoppingCartService shoppingCartService;

    /**
     * 新增商品到购物车
     *
     * @param shoppingCart 购物车商品信息
     */
    @RequestMapping(value = "/shoppingCart/add")
    public CommonResult addShoppingCart(ShoppingCart shoppingCart) {
        if (shoppingCartService.insertData(shoppingCart)) {
            return CommonResult.success("购物车添加成功", shoppingCart);
        }
        return CommonResult.error("购物车添加失败");
    }

    /**
     * 更新购物车商品
     *
     * @param shoppingCart 购物车商品信息
     */
    @RequestMapping(value = "/shoppingCart/update")
    public CommonResult updateShoppingCart(ShoppingCart shoppingCart) {
        if (shoppingCartService.updateById(shoppingCart)) {
            return CommonResult.success("购物车修改成功", shoppingCart);
        }
        return CommonResult.error("购物车修改失败");
    }

    /**
     * 购物车移除商品
     *
     * @param cartId 购物车商品编号
     */
    @RequestMapping(value = "/shoppingCart/deleteById")
    public CommonResult deleteShoppingCart(Integer cartId) {
        if (shoppingCartService.deleteById(cartId)) {
            return CommonResult.success("购物车删除成功", "cartId: " + cartId);
        }
        return CommonResult.error("购物车删除失败");
    }

    /**
     * 根据用户移除购物车
     *
     * @param account 用户账户
     */
    @RequestMapping(value = "/shoppingCart/deleteByUser")
    public CommonResult deleteByUser(String account) {
        if (shoppingCartService.deleteByUser(account)) {
            return CommonResult.success("购物车删除成功", account);
        }
        return CommonResult.error("购物车删除失败");
    }


    /**
     * 查询用户账号下的购物车信息
     *
     * @param account 用户账户
     */
    @RequestMapping(value = "/shoppingCart/findAll")
    public CommonResult findAllShoppingCart(String account) {
        List<Map<String, Object>> shoppingInfo = shoppingCartService.selectAll(account);
        if (shoppingInfo != null) {
            return CommonResult.success("购物车查询成功", shoppingInfo);
        }
        return CommonResult.error("购物车查询失败");
    }

    /**
     * 根据购物车商品编号查询购物车商品信息
     *
     * @param cartId 购物车商品编号
     */
    @RequestMapping(value = "/shoppingCart/findById")
    public CommonResult findById(Integer cartId) {
        ShoppingCart shoppingCart = shoppingCartService.selectById(cartId);
        if (shoppingCart != null) {
            return CommonResult.success("购物车查询成功", shoppingCart);
        }
        return CommonResult.error("购物车查询失败");
    }
}
package com.qiu.controller;

import com.qiu.entity.Product;
import com.qiu.entity.Purchase;
import com.qiu.entity.StoreEntity;
import com.qiu.service.ProductService;
import com.qiu.service.PurchaseService;
import com.qiu.service.StoreService;
import com.qiu.util.general.CommonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;

/**
 *  商铺管理和商品入库
 */
@CrossOrigin
@RestController
public class StoreController {

    @Autowired
    private StoreService storeService;

    @Autowired
    private PurchaseService purchaseService;

    @Autowired
    private ProductService productService;

    /**
     * 查询商铺信息
     */
    @RequestMapping(value = "/store/findByStore")
    public CommonResult findByNumber(StoreEntity store) {
        StoreEntity storeEntity = storeService.selectByStore(store);
        if (storeEntity != null) {
            return CommonResult.success("商铺查询成功", storeEntity);
        }
        return CommonResult.error("商铺查询失败");
    }

    /**
     * 查询全部商铺
     */
    @RequestMapping(value = "/store/findAll")
    public CommonResult findAll() {
        List<StoreEntity> stores = storeService.selectAll();
        if (stores != null) {
            return CommonResult.success("商铺查询成功", stores);
        }
        return CommonResult.error("商铺查询失败");
    }

    /**
     * 商铺入驻申请
     * @param store 商铺信息
     */
    @RequestMapping(value = "/store/addStore")
    public CommonResult addStore(StoreEntity store) {
        if (store != null) {
            if (storeService.insertData(store)) {
                return CommonResult.success("店铺入驻申请已发送", store);
            }
            return CommonResult.error("申请发送失败");
        }
        return CommonResult.error("商铺注册数据不存在");
    }

    /**
     * 通过商铺编号更新商铺信息
     *
     * @param store 商铺信息
     */
    @RequestMapping(value = "/store/updateStore")
    public CommonResult updateStoreEntity(StoreEntity store) {
        if (store != null) {
            if (storeService.updateByStore(store)) {
                return CommonResult.success("更新成功", store);
            }
            return CommonResult.error("更新失败");
        }
        return CommonResult.error("商铺数据不存在");
    }

    /**
     * 更新商铺状态
     * @param store 商铺信息
     * @return
     */
    @RequestMapping(value = "/store/updateStoreStatus")
    public CommonResult updateStoreStatus(StoreEntity store) {
        if (store != null) {
            if (storeService.updateStoreStatus(store)) {
                return CommonResult.success("更新成功");
            }
            return CommonResult.error("更新失败");
        }
        return CommonResult.error("商铺数据不存在");
    }

    /**
     * 删除供应商
     * @param storeNumber 供应商编号
     */
    @RequestMapping(value = "/store/deleteStore")
    public CommonResult deleteStoreById(Integer storeNumber) {
        if (storeNumber != null) {
            if (storeService.deleteById(storeNumber)) {
                return CommonResult.success("删除成功", storeNumber);
            }
            return CommonResult.error("删除失败");
        }
        return CommonResult.error("商铺数据不存在");
    }

    //-------------------------------------------商品入库操作------------------------------------------------
    /**
     * 查询入库信息
     * @param purchaseId 入库编号
     */
    @RequestMapping(value = "/purchase/findPurchaseById")
    public CommonResult findPurchaseById(Integer purchaseId) {
        Purchase purchase = purchaseService.selectById(purchaseId);
        if (purchase != null) {
            return CommonResult.success("入库信息查询成功", purchase);
        }
        return CommonResult.error("入库信息查询失败");
    }

    /**
     * 查询全部入库信息
     */
    @RequestMapping(value = "/purchase/findPurchaseAll")
    public CommonResult findPurchaseAll(String accountNumber) {
        List<Purchase> purchases = purchaseService.selectAll(accountNumber);
        if (purchases != null) {
            return CommonResult.success("入库信息查询成功", purchases);
        }
        return CommonResult.error("入库信息查询失败");
    }

    /**
     * 添加入库记录
     * @param purchase 入库信息
     */
    @RequestMapping(value = "/purchase/addPurchase")
    public CommonResult addPurchase(Purchase purchase) {
        if (purchase != null) {
            //1.添加商品库存
            Integer productId = productService.selectIdByKey(purchase.getProductNo());
            Product product = productService.selectById(productId);
            Integer lowestStock = product.getLowestStock();
            Integer productStock = product.getProductStock();
            Integer purchaseNumber =Integer.parseInt(purchase.getPurchaseNumber());
            product.setProductStock(productStock + purchaseNumber);
            product.setIsStockOut(product.getProductStock() < lowestStock);
            if (productService.updateById(product)) {//库存信息更新成功
                purchaseService.insertData(purchase);//插入一条入库记录
                return CommonResult.success("商品入库成功", purchase);
            }
            return CommonResult.error("商品库存更新失败");
        }
        return CommonResult.error("系统繁忙,请稍后再试!");
    }

    /**
     * 删除入库记录
     *
     * @param purchaseId 入库id
     */
    @RequestMapping(value = "/purchase/deletePurchase")
    public CommonResult deletePurchase(Integer purchaseId) {
        if (purchaseId != null) {
            if (purchaseService.deleteById(purchaseId)) {
                return CommonResult.success("删除成功", purchaseId);
            }
            return CommonResult.error("删除失败");
        }
        return CommonResult.error("入库信息数据不存在,请刷新重试");
    }

}

package com.qiu.controller;

import com.qiu.constant.UserStatusEnum;
import com.qiu.entity.User;
import com.qiu.entity.UserRole;
import com.qiu.entity.Vip;
import com.qiu.service.UserRoleService;
import com.qiu.service.UserService;
import com.qiu.service.VipService;
import com.qiu.util.general.CommonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.Calendar;
import java.util.Date;
import java.util.List;

/**
 *  用户相关业务
 */
@CrossOrigin
@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @Autowired
    private UserRoleService userRoleService;

    @Autowired
    private VipService vipService;

    /**
     * 根据id查询用户
     *
     * @param id 用户编号
     */
    @RequestMapping(value = "/user/findById")
    public CommonResult findById(Integer id) {
        User user = userService.selectById(id);
        if (user != null) {
            return CommonResult.success("查询成功", user);
        } else {
            return CommonResult.error("查询失败");
        }
    }

    /**
     * 根据账号查询用户
     *
     * @param key 账号
     */
    @RequestMapping(value = "/user/findByKey")
    public CommonResult findByKey(String key) {
        User user = userService.selectByKey(key);
        if (user != null) {
            return CommonResult.success("查询成功", user);
        }
        return CommonResult.error("查询失败");
    }

    /**
     * 查询所有顾客
     */
    @RequestMapping(value = "/user/findAll/customer")
    public CommonResult findAllCustomer() {
        List<User> users = userService.queryAllByStatus(UserStatusEnum.CUSTOMER);
        if (users != null) {
            return CommonResult.success("查询成功", users);
        }
        return CommonResult.error("查询失败");
    }

    /**
     * 查询所有管理员
     */
    @RequestMapping(value = "/user/findAll/admin")
    public CommonResult findAllAdmin() {
        List<User> users = userService.queryAllByStatus(UserStatusEnum.ADMIN);
        if (users != null) {
            return CommonResult.success("查询成功", users);
        }
        return CommonResult.error("查询失败");
    }

//    /**
//     * 查询商家的商铺编号
//     */
//    @RequestMapping(value = "/user/storeNumber")
//    public CommonResult findStoreNumber(String accountNumber) {
//        String storeNumber= userService.selectStoreNumber(accountNumber);
//        if (storeNumber != null) {
//            return CommonResult.success("商铺编号查询成功", storeNumber);
//        }
//        return CommonResult.error("商铺编号查询失败");
//    }

    /**
     * 判断某个用户是否还存在
     *
     * @param key 账号
     */
    @RequestMapping(value = "/user/existKey")
    public CommonResult existKey(String key) {
        boolean exist = userService.existsWithPrimaryKey(key);
        return CommonResult.success("查询成功", exist);
    }

    /**
     * 查询用户状态
     *
     * @param accountNumber 用户账号
     */
    @RequestMapping(value = "/user/userState")
    public CommonResult userState(String accountNumber) {
        boolean state = userService.selectUserState(accountNumber);
        return CommonResult.success("查询成功", state);
    }

    /**
     * 查询用户记录的总个数
     */
    @RequestMapping(value = "/user/count")
    public CommonResult findCount() {
        int count = userService.selectCount();
        return CommonResult.success("查询成功", count);

    }

    /**
     * 通过用户账号查询用户ID
     *
     * @param key 用户账号
     */
    @RequestMapping(value = "/user/findIdByKey")
    public CommonResult findIdByKey(String key) {
        Integer id = userService.selectIdByKey(key);
        if (id != null) {
            return CommonResult.success("查询成功", id);
        }
        return CommonResult.error("未查询到");
    }

    /**
     * 删除用户
     *
     * @param userId 用户编号
     */
    @RequestMapping(value = "/user/delete")
    public CommonResult delete(Integer userId) {
        if (userService.deleteById(userId)) {
            return CommonResult.success("删除成功", userId);
        }
        return CommonResult.error("删除失败");
    }

    /**
     * 角色授权
     *
     * @param userId 用户编号
     * @param roleId 角色编号列表
     */
    @RequestMapping(value = "/user/author")
    public CommonResult author(Integer userId, @RequestParam List<Integer> roleId) {
        if (userId != null && roleId != null && !roleId.isEmpty()) {
            if (userRoleService.deleteById(userId)) {
                UserRole userRole = new UserRole();
                userRole.setUserId(userId);
                for (Integer id : roleId) {
                    userRole.setRoleId(id);
                    userRoleService.insertData(userRole);
                }
            }
            User user = new User();
            user.setUserId(userId);
            user.setStatus(UserStatusEnum.ADMIN);
            userService.updateById(user);
            return CommonResult.success("授权成功");
        } else {
            return CommonResult.error("角色授权数据不完整!");
        }
    }

    /**
     * 查询所有VIP用户
     */
    @RequestMapping(value = "/vip/findAllVip")
    public CommonResult findAllVip() {
        List<Vip> vips = vipService.selectAll();
        if (vips != null) {
            return CommonResult.success("查询成功", vips);
        }
        return CommonResult.error("查询失败");
    }

    /**
     * 查询VIP用户信息根据id
     *
     * @param vipId 会员编号
     */
    @RequestMapping(value = "/vip/findVipById")
    public CommonResult findVipById(Integer vipId) {
        Vip vip = vipService.selectById(vipId);
        if (vip != null) {
            return CommonResult.success("查询成功", vip);
        }
        return CommonResult.error("查询失败");
    }

    /**
     * 查询VIP用户信息根据id
     *
     * @param accountNumber 用户账号
     */
    @RequestMapping(value = "/vip/findVipByKey")
    public CommonResult findVipByKey(String accountNumber) {
        Vip vip = vipService.selectByKey(accountNumber);
        if (vip != null) {
            return CommonResult.success("查询成功", vip);
        }
        return CommonResult.error("查询失败");
    }

    /**
     * 判断用户信息是否存在
     *
     * @param accountNumber 用户账号
     */
    @RequestMapping(value = "/vip/existsVip")
    public CommonResult existsVip(String accountNumber) {
        boolean exist = vipService.existsVip(accountNumber);
        return CommonResult.success("查询成功", exist);
    }

    /**
     * 增加会员信息
     *
     * @param vip 会员信息
     */
    @RequestMapping(value = "/vip/addVip")
    public CommonResult addVip(Vip vip) {
        Date date = new Date();
        Calendar cal = Calendar.getInstance();
        //设置起时间
        cal.setTime(date);
        //增加一年
        cal.add(Calendar.YEAR, 1);
        vip.setOverdueTime(cal.getTime());
        if (vipService.insertData(vip)) {
            return CommonResult.success("会员信息添加成功", vip);
        }
        return CommonResult.error("会员信息添加失败");
    }

    /**
     * 更新会员信息
     *
     * @param vip 会员信息
     */
    @RequestMapping(value = "/vip/updateVip")
    public CommonResult updateVip(Vip vip) {
        if (vipService.updateById(vip)) {
            return CommonResult.success("会员信息更新成功", vip);
        }
        return CommonResult.error("会员信息更新失败");
    }

    /**
     * 清除信息
     *
     * @param vipId 会员编号
     */
    @RequestMapping(value = "/vip/deleteVip")
    public CommonResult deleteVip(Integer vipId) {
        if (vipService.deleteById(vipId)) {
            return CommonResult.success("删除成功", vipId);
        }
        return CommonResult.error("删除失败");
    }
}

五,项目总结

 表结构及ER图

本系统用到了18张表存储数据,分别是banner(商品广告轮播图表)、

Logistics(物流表)、order(订单表)、product(商品表)、product_brand(商品品牌表)、product_review(商品评价表)、product_specs(商品规格表)、product_type(商品类型推荐表)、purchase(商品入库记录表)、return_goods(商品退货表)、return_reason(退货原因表)、role(角色表)、shopping_cart(购物车表)、specs(商品规格表)、store(商铺信息表)、sys_commodity_type(商品类型表)、user(用户表)、user_role(用户角色表)。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/180532.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

R|使用ggrepel添加文字标签

最近在用ggrepel&#xff0c;这里记录一些官网教程中的概要。与其去搜答案&#xff0c;不如过一遍软件的示例&#xff0c;大部分的问题都能迎刃而解。更详细的内容可参照官网教程&#xff1a;https://ggrepel.slowkow.com/articles/examples.html>基本用法<相比于geom_te…

python+django健身房课程预约评分系统

启动一个新项目 执行下面的命令来创建一个新的 Django 项目&#xff1a; django-admin startproject myproject 命令行工具django-admin会在安装Django的时候一起自动安装好。 执行了上面的命令以后&#xff0c;系统会为Django项目生成基础文件夹结构。 现在&#xff0c;我…

DFS(深度优先搜索)详解(概念讲解,图片辅助,例题解释,剪枝技巧)

目录 那年深夏 引入 1.什么是深度优先搜索&#xff08;DFS&#xff09;&#xff1f; 2.什么是栈&#xff1f; 3.什么是递归&#xff1f; 图解过程 问题示例 1、全排列问题 2、迷宫问题 3、棋盘问题&#xff08;N皇后&#xff09; 4、加法分解 模板 剪枝 1.简介 2.剪枝…

ASCII表

背景 ASCII&#xff08;American Standard Code for Information Interchange&#xff0c;美国信息互换标准代码&#xff09;是一套基于拉丁字母的字符编码&#xff0c;共收录了 128 个字符&#xff0c;用一个字节就可以存储&#xff0c;它等同于国际标准 ISO/IEC 646。 ASCII…

【R语言数据科学】:多项式回归

【R语言数据科学】:多项式回归 🌸个人主页:JOJO数据科学📝个人介绍:统计学top3高校统计学硕士在读💌如果文章对你有帮助,欢迎✌关注、👍点赞、✌收藏、👍订阅专栏✨本文收录于【R语言数据科学】本系列主要介绍R语言在数据科学领域的应用包括: R语言编程基础、R语…

软件测试该怎么测?10个测试方法,带你初步了解

软件测试该怎么测&#xff1f;10个测试方法&#xff0c;带你初步了解1.需求测试2.界面测试3.功能测试4.安全性测试5.可靠性测试6.可移植性测试7.兼容性8.易用性9.压力测试10.异常场景测试当然还有很多测试方法&#xff0c;这些要根据实际不同应用场景而变化&#xff0c;这里就以…

蓝桥杯算法训练合集五 1.简单字符变换2.字母转换3.输出一个倒等腰三角形4.寻找数组中最大值5.斐波拉契数列6.高低位变换

目录 1.简单字符变换 2.字母转换 3.输出一个倒等腰三角形 4.寻找数组中最大值 5.斐波拉契数列 6.高低位变换 1.简单字符变换 问题描述 输出任意一个小写字母&#xff0c;要求输出其ASCII码&#xff0c;并输出对应的大写字母。 输入格式 从键盘输入小写字母。 输出格式 输…

【c语言进阶】动态内存管理知识大全(上)

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a;c语言学习 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对我…

敢问路在何方?拒绝【内卷】到【进化】的底层逻辑

不知道什么时候&#xff0c; “内卷”这个词频繁出现在各行各业&#xff0c;人们也喜欢把各种问题归结于“内卷”。网络段子都说&#xff0c;以前打招呼是 “你吃了吗”&#xff1f;现在是“你卷赢了吗”&#xff1f; 从【你吃了吗&#xff1f;】到【你卷赢了没&#xff1f;】 …

C++基础(1) - 前导知识

文章目录程序编译流程常用的C编译器各种编译命令程序编译流程 常用的C编译器 最初的 cfront&#xff1b;Unix、Linux 系统中的 GNU g 编译器&#xff1b;Windows 系统中的 Cygwin、MinGW(Minimalist GNU for Windows)、MinGW-w64 等&#xff0c;它们都包含 GNU g 编译器&#…

了解JUnit测试框架

作者&#xff1a;~小明学编程 文章专栏&#xff1a;测试开发 格言&#xff1a;热爱编程的&#xff0c;终将被编程所厚爱。 目录 注解 Test注释 BeforeEach BeforeAll AfterEach AfterAll 断言 assertEquals / assertNotEquals assertTrue / assertFalse 测试的执行…

linux基本功系列之yum实战

文章目录一. yum命令介绍1.1 yum的介绍1.2 yum的优劣势1.3 使用yum的注意事项1.3.1 配置本地yum源1.3.2 配置网络yum源二. 语法格式及常用选项2.1 yum的全部参数2.2 影响yum的配置文件2.3 最常用的yum参数三. 参考案例实战3.1 使用yum进行安装3.2 使用yum升级和更新软件包3.3 软…

Kettle(9):排序记录组件

1 组件介绍 排序组件可以将Kettle数据流中的数据进行排序,可以指定升序、还是降序排列 2 需求 使用Kettle将t_user表中的用户数据,按照年龄升序排序,并将排序后的数据装载到Excel 3 构建Kettle数据流图 效果图

第二章 Java编程基础

第二章 Java编程基础 目录一&#xff0e; Java基本语法1. 基本格式2. 注释3. 标识符4. 关键字5. 常量二&#xff0e; 变量1. 定义2. 数据类型3. 整数类型变量4. 浮点类型变量5. 字符类型变量6. 布尔类型变量7. 类型转换8. 自动提升9. 变量作用域三&#xff0e; 运算符1. 算数运…

【VisualBasicApplication】Excel编程 快速入门

VBAExcel的宏与VBA宏的录制宏的启动运行快捷键运行宏&#xff1a;使用Excel对象运行宏*VBA的数据类型字符串&#xff08;String&#xff09;整形&#xff08;Integer&#xff09;和长整形&#xff08;Long&#xff09;单精度浮点型&#xff08;Single&#xff09;和双精度浮点型…

我应该使用哪个版本的 JDK?

本文在写作过程中参考了whichJDK ​ 要构建和运行 Java 应用程序&#xff0c;就需要安装 JDK 环境。 OpenJDK 是 Java SE 规范的开源软件&#xff0c;但它只是源代码。二进制发行版由不同的供应商提供&#xff0c;适用于许多受支持的平台&#xff0c;这些发行版在许可证、商业…

设计模式 - 创建型模式_7种单例模式实现

文章目录创建型模式概述Case7种单例模式实现静态类使⽤懒汉模式(线程不安全)懒汉模式(线程安全)饿汉模式(线程安全)使⽤类的内部类(线程安全)双重锁校验(线程安全)CAS「AtomicReference」(线程安全)Effective Java作者推荐的枚举单例(线程安全)小结创建型模式 创建型模式提供创…

MySQL约束详解

目录 概念 作用 分类 MySQL约束——主键约束 概念 操作 操作——添加单列主键 操作——添加多列主键&#xff08;联合主键&#xff09; 操作——删除主键约束 MySQL约束-自增长约束(auto_increment) 概念 语法 操作 特点 指定自增字段初始值 delete和truncate在删…

零基础学JavaWeb开发(二十六)之 nginx(2)

5、基于Nginx解决跨域问题 5.1、什么是网站跨域问题 前端部署 html.mayikt.com /index.html 后端部署 api.mayikt.com/ 接口 java 浏览器访问&#xff1a;http://html.mayikt.com/user.html 页面里面 ajax 请求&#xff1a;http://api.mayikt.com/getUser 浏览器访问&#…

力扣刷题记录——697. 数组的度、728. 自除数 、821. 字符的最短距离

本专栏主要记录力扣的刷题记录&#xff0c;备战蓝桥杯&#xff0c;供复盘和优化算法使用&#xff0c;也希望给大家带来帮助&#xff0c;博主是算法小白&#xff0c;希望各位大佬不要见笑&#xff0c;今天要分享的是——《力扣刷题记录——697. 数组的度、728. 自除数 、821. 字…