当前位置: 首页 > news >正文

基于JAVA+SpringBoot+LayUI+Shiro的仓库管理系统

基于JAVA+SpringBoot+LayUI+Shiro的仓库管理系统

✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌

🍅文末获取项目下载方式🍅


一、项目背景介绍:

仓库管理系统 某物流公司主要从事电子类产品的配送服务,仓储在企业的整个供应链中起 着至关重要的作用,如果不能保证正确的进货和库存控制及发货,将会导致管理 费用的增加,服务质量难以得到保证,从而影响企业的竞争力。传统简单、静态 的仓储管理已无法保证企业各种资源的高效利用。如今的仓库作 业和库存控制 作 仓库管理系统 某物流公司主要从事电子类产品的配送服务,仓储在企业的整个供应链中起 着至关重要的作用

二、项目技术简介:

  1. JAVA:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
  2. SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
  3. Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。
  4. shiro:Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
  5. layui:layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,常适合网页界面的快速开发。layui 区别于那些基于MVVM 底层的前端框架,它更多是面向后端开发者,无需涉足前端各种工具,只需面对浏览器本身,让一切所需要的元素与交互。

三、系统功能模块介绍:

功能模块图

四、数据库设计:

  1. bus_customer(bus_customer)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | customername | varchar(255) | NULL | |
    | zip | varchar(255) | NULL | |
    | address | varchar(255) | NULL | |
    | telephone | varchar(255) | NULL | |
    | connectionperson | varchar(255) | NULL | |
    | phone | varchar(255) | NULL | |
    | bank | varchar(255) | NULL | |
    | account | varchar(255) | NULL | |
    | email | varchar(255) | NULL | |
    | fax | varchar(255) | NULL | |
    | available | int(11) | NULL | |

  2. bus_goods(bus_goods)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | goodsname | varchar(255) | NULL | |
    | produceplace | varchar(255) | NULL | |
    | size | varchar(255) | NULL | |
    | goodspackage | varchar(255) | NULL | |
    | productcode | varchar(255) | NULL | |
    | promitcode | varchar(255) | NULL | |
    | description | varchar(255) | NULL | |
    | price | double | NULL | |
    | number | int(11) | NULL | |
    | dangernum | int(11) | NULL | |
    | goodsimg | varchar(255) | NULL | |
    | available | int(11) | NULL | |
    | providerid | int(11) | NULL | |

  3. bus_inport(bus_inport)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | paytype | varchar(255) | NULL | |
    | inporttime | datetime(0) | NULL | |
    | operateperson | varchar(255) | NULL | |
    | number | int(11) | NULL | |
    | remark | varchar(255) | NULL | |
    | inportprice | double | NULL | |
    | providerid | int(11) | NULL | |
    | goodsid | int(11) | NULL | |

  4. bus_outport(bus_outport)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | providerid | int(11) | NULL | |
    | paytype | varchar(255) | NULL | |
    | outputtime | datetime(0) | NULL | |
    | operateperson | varchar(255) | NULL | |
    | outportprice | VARCHAR(255) | NULL | |

  5. bus_provider(bus_provider)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | providername | varchar(255) | NULL | |
    | zip | varchar(255) | NULL | |
    | address | varchar(255) | NULL | |
    | telephone | varchar(255) | NULL | |
    | connectionperson | varchar(255) | NULL | |
    | phone | varchar(255) | NULL | |
    | bank | varchar(255) | NULL | |
    | account | varchar(255) | NULL | |
    | email | varchar(255) | NULL | |
    | fax | varchar(255) | NULL | |
    | available | int(11) | NULL | |

  6. bus_sales(bus_sales)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | customerid | int(11) | NULL | |
    | paytype | varchar(255) | NULL | |
    | salestime | datetime(0) | NULL | |
    | operateperson | varchar(255) | NULL | |
    | number | int(11) | NULL | |
    | remark | varchar(255) | NULL | |
    | saleprice | VARCHAR(255) | NULL | |

  7. bus_salesback(bus_salesback)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | customerid | int(11) | NULL | |
    | paytype | varchar(255) | NULL | |
    | salesbacktime | datetime(0) | NULL | |
    | salebackprice | VARCHAR(255) | NULL | |

  8. sys_dept(sys_dept)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | pid | int(11) | NULL | |
    | title | varchar(255) | NULL | |
    | open | int(11) | NULL | |
    | remark | varchar(255) | NULL | |
    | address | varchar(255) | NULL | |
    | available | int(11) | NULL | 状态【0不可用1可用】 |
    | ordernum | int(11) | NULL | 排序码【为了调事显示顺序】 |
    | createtime | datetime(0) | NULL | |

  9. sys_loginfo(sys_loginfo)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | loginname | varchar(255) | NULL | |
    | loginip | varchar(255) | NULL | |
    | logintime | datetime(0) | NULL | |

  10. sys_notice(sys_notice)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | title | varchar(255) | NULL | |
    | content | text | NULL | |
    | createtime | datetime(0) | NULL | |
    | opername | varchar(255) | NULL | |

  11. sys_permission(sys_permission)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | pid | int(11) | NULL | |
    | type | varchar(255) | NULL | 权限类型[menu/permission] |
    | title | varchar(255) | NULL | |
    | percode | varchar(255) | NULL | 权限编码[只有type=permission才有user:view] |
    | icon | varchar(255) | NULL | |
    | href | varchar(255) | NULL | |
    | target | varchar(255) | NULL | |
    | open | int(11) | NULL | |
    | ordernum | int(11) | NULL | |
    | available | int(11) | NULL | 状态【0不可用1可用】 |

  12. sys_role(sys_role)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | name | varchar(255) | NULL | |
    | remark | varchar(255) | NULL | |
    | available | int(11) | NULL | |
    | createtime | datetime(0) | NULL | |

  13. sys_role_permission(sys_role_permission)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | rid | int(11) | NULL | |
    | pid | int(11) | NULL | |

  14. sys_user(sys_user)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | name | varchar(255) | NULL | |
    | loginname | varchar(255) | NULL | |
    | address | varchar(255) | NULL | |
    | sex | int(11) | NULL | |
    | remark | varchar(255) | NULL | |
    | pwd | varchar(255) | NULL | |
    | deptid | int(11) | NULL | |
    | hiredate | datetime(0) | NULL | |
    | mgr | int(11) | NULL | |
    | available | int(11) | NULL | |
    | ordernum | int(11) | NULL | |
    | type | int(255) | NULL | 用户类型[0超级管理员1,管理员,2普通用户] |
    | imgpath | varchar(255) | NULL | 头像地址 |
    | salt | varchar(255) | NULL | |

五、功能模块:

  1. 客户管理:客户管理主要存储一些仓库客户的一些基本信息,包括各种条件模糊查询,删除,编辑等功能

    客户管理

  2. 供应商管理:存款仓库系统中所有的供应商信息
    在这里插入图片描述

  3. 商品管理:此模块主要对仓库中所有商品的管理,包括商品添加,删除修改等

在这里插入图片描述

  1. 销售额统计模块:主要对商品的入库,出库金额进行统计,从而形成销售额的图表,以供管理员查看

    销售额统计模块

六、代码示例:

客户管理
@RequestMapping("loadAllCustomer")public DataGridView loadAllCustomer(CustomerVo customerVo) {IPage<Customer> page = new Page<>(customerVo.getPage(), customerVo.getLimit());QueryWrapper<Customer> queryWrapper = new QueryWrapper<>();queryWrapper.like(StringUtils.isNotBlank(customerVo.getCustomername()), "customername",customerVo.getCustomername());queryWrapper.like(StringUtils.isNotBlank(customerVo.getPhone()), "phone", customerVo.getPhone());queryWrapper.like(StringUtils.isNotBlank(customerVo.getConnectionperson()), "connectionperson",customerVo.getConnectionperson());this.customerService.page(page, queryWrapper);return new DataGridView(page.getTotal(), page.getRecords());}
供应商管理
/*** 加载所有可用的供应商*/@RequestMapping("loadAllProviderForSelect")public DataGridView loadAllProviderForSelect() {QueryWrapper<Provider> queryWrapper=new QueryWrapper<>();queryWrapper.eq("available", Constast.AVAILABLE_TRUE);List<Provider> list = this.providerService.list(queryWrapper);return new DataGridView(list);}
商品管理
@RequestMapping("loadAllGoods")public DataGridView loadAllGoods(GoodsVo goodsVo) {IPage<Goods> page = new Page<>(goodsVo.getPage(), goodsVo.getLimit());QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();queryWrapper.eq(goodsVo.getProviderid()!=null&&goodsVo.getProviderid()!=0,"providerid",goodsVo.getProviderid());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getGoodsname()), "goodsname", goodsVo.getGoodsname());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getProductcode()), "productcode", goodsVo.getProductcode());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getPromitcode()), "promitcode", goodsVo.getPromitcode());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getDescription()), "description", goodsVo.getDescription());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getSize()), "size", goodsVo.getSize());this.goodsService.page(page, queryWrapper);List<Goods> records = page.getRecords();for (Goods goods : records) {Provider provider = this.providerService.getById(goods.getProviderid());if(null!=provider) {goods.setProvidername(provider.getProvidername());}}return new DataGridView(page.getTotal(), records);}
销售额统计模块
	@RequestMapping("loadAllOutport")public DataGridView loadAllOutport(OutportVo outportVo) {IPage<Outport> page = new Page<>(outportVo.getPage(), outportVo.getLimit());QueryWrapper<Outport> queryWrapper = new QueryWrapper<>();queryWrapper.eq(outportVo.getProviderid()!=null&&outportVo.getProviderid()!=0,"providerid",outportVo.getProviderid());queryWrapper.eq(outportVo.getGoodsid()!=null&&outportVo.getGoodsid()!=0,"goodsid",outportVo.getGoodsid());queryWrapper.ge(outportVo.getStartTime()!=null, "outputtime", outportVo.getStartTime());queryWrapper.le(outportVo.getEndTime()!=null, "outputtime", outportVo.getEndTime());queryWrapper.like(StringUtils.isNotBlank(outportVo.getOperateperson()), "operateperson", outportVo.getOperateperson());queryWrapper.like(StringUtils.isNotBlank(outportVo.getRemark()), "remark", outportVo.getRemark());queryWrapper.orderByDesc("outputtime");this.outportService.page(page, queryWrapper);List<Outport> records = page.getRecords();for (Outport outport : records) {Provider provider = this.providerService.getById(outport.getProviderid());if(null!=provider) {outport.setProvidername(provider.getProvidername());}Goods goods = this.goodsService.getById(outport.getGoodsid());if(null!=goods) {outport.setGoodsname(goods.getGoodsname());outport.setSize(goods.getSize());}}return new DataGridView(page.getTotal(), records);}

七、项目总结:

 对于本次的系统开发来看,它主要是把我以前所学的知识进行了一次综合的应用。经过这次毕业设计的制作它主要是把我以前所学的理论知识应用到社会实践当中。通过这一次的仓库管理平台网站的设计与实现它能够有效把计算机知识与实际问题相互应用,通过计算机网络技术来解决用户生活当中的实际问题,从而提高我的编程能力。虽然在这次毕业设计当中我遇到了很多的问题和困难,但是通过不断的调试和老师的帮助让我圆满的完成了这次毕业设计。通过这次毕业设计的制作让我对计算机实际应用得到了很强的锻炼,同时也大大的提高了我的动手动脑能力,让我也感受到了其中的乐趣和喜悦。通过这次毕业设计的撰写把我在大学期间所学到的东西都应用上了,但是我觉得还是微不足道的,因为在这次毕业设计当中让我深深的了解到对于软件开发和学习理论知识它是两个完全不同的概念。但是通过这次软件的开发让我在以后的工作当中打下了良好的基础。

八、源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻

项目获取链接

链接点击直达:下载链接

相关文章:

基于JAVA+SpringBoot+LayUI+Shiro的仓库管理系统

基于JAVASpringBootLayUIShiro的仓库管理系统 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项…...

金三银四面试必看,复盘字节测试开发面试:一次测试负责人岗位面试总结

最近面试了某企业的测试负责人岗位&#xff0c;历经四面&#xff0c;收获蛮多的。 这篇文章&#xff0c;我想聊聊这次面试过程中的一些经历&#xff0c;以及些许经验和教训。 岗位要求 岗位名称&#xff1a;测试负责人 岗位要求&#xff1a;1、扎实的技术以及丰富的技术项目…...

【算法自由之路】 贪心算法

贪心算法 局部最右得到全局最右难点在于如何证明局部最优可以得到全局最优堆 和 排序 是贪心算法最常用的实现算法 贪心算法作为最符合自然智慧的算法&#xff0c;思路是从小部分取最优从而获得最终的最优&#xff0c;但是难得是怎样获取部分最优才能得到全局最优。 有时候我…...

Scratch少儿编程案例-水果忍者-学生作业

专栏分享 点击跳转=>Unity3D特效百例点击跳转=>案例项目实战源码点击跳转=>游戏脚本-辅助自动化点击跳转=>Android控件全解手册点击跳转=>Scratch编程案例👉关于作者...

7.Docker Compose

Docker Compose 介绍 Docker Compose是Docker官方编排&#xff08;Orchestration&#xff09;项目之一&#xff0c;负责快速的部署分布式应用。其代码目前在https://github.com/docker/compose上开源。Compose 定位是 「定义和运行多个 Docker 容器的应用&#xff08;Definin…...

GitHub访问问题与 Steam++下载及使用(适合小白)

前言 &#x1f4dc; “ 作者 久绊A ” 专注记录自己所整理的Java、web、sql等&#xff0c;IT技术干货、学习经验、面试资料、刷题记录&#xff0c;以及遇到的问题和解决方案&#xff0c;记录自己成长的点滴 ​ 目录 前言 一、Steam的介绍 1、大概介绍 2、详细介绍 二、Ste…...

Oracle对象——视图之简单视图与视图约束

文章目录什么是视图为什么会使用视图视图语法案例简单视图的创建更改数据基表&#xff0c;视图数据会变化么&#xff1f;更改视图数据&#xff0c;基表数据会变更么&#xff1f;带检查约束的视图结论创建只读视图&#xff08;MySQL不支持&#xff09;总结什么是视图 视图是一种…...

SAP模块常用增强总结

MM模块&#xff1a; 采购订单增强&#xff1a; BADI &#xff1a;ME_GUI_PO_CUST ME_PROCESS_PO_CUST 物料凭证增强&#xff1a; BADI&#xff1a;MB_DOCUMENT_BADI USER-EXIT&#xff1a;MBCF0002 实现功能1、当参照预留过帐时&#xff0c;检查填入数量是否小于预留数量 2…...

当make执行遇到 Arguments too long

1. 问题 Ubuntu20.04上make编译生成so的时候报错&#xff1a; make[1]:execvp:/bin/sh:Arguments too long对应makefile中的报错位置&#xff0c;仅仅是生成so的时候报错&#xff0c;伪代码如下 ${build_tool} -shared -fpic -o "$" ${OBJ_FILE} ${LDFLAGS}然而如…...

《手把手教你》系列基础篇(七十三)-java+ selenium自动化测试-框架设计基础-TestNG实现启动不同浏览器(详解教程)

1.简介 上一篇文章中&#xff0c;从TestNg的特点我们知道支持变量&#xff0c;那么我们这一篇就通过变量参数来启动不同的浏览器进行自动化测试。那么如何实现同时启动不同的浏览器对脚本进行测试&#xff0c;且听我娓娓道来。 2.项目实战 2.1创建一个TestNg class 1.首先按…...

Maven基础

Maven简介 传统项目&#xff1a; jar包不统一 不兼容 项目中有部分jar包会升级 没升级的部分会起冲突 管理复杂 Maven本质是一个项目管理工具 pom POM Project Object Model 项目对象模型 把项目以对象形式进行管理 先写 pom.xml 的配置文件 代表一个项目 1个项目对应1个po…...

C++入门:初识类和对象

C入门&#xff1a;类和对象1 本节目录C入门&#xff1a;类和对象11.auto关键字&#xff08;C11)1.1类型别名思考1.2auto简介typeid运算符&#xff1a;获取类型信息1.3 auto的使用细则1.4auto不能推到的场景2.基于范围的for循环(C11)2.1范围for的语法2.2范围for的使用条件3.指针…...

BERT在CNN上也能用?看看这篇ICLR Spotlight论文丨已开源

如何在卷积神经网络上运行 BERT&#xff1f;你可以直接用 SparK —— 字节跳动技术团队提出的提出的稀疏层次化掩码建模 ( Designing BERT for Convolutional Networks: Sparse and Hierarchical Masked Modeling )&#xff0c;近期已被人工智能顶会 ICLR 2023 收录为 Spotligh…...

【MFC】模拟采集系统——界面设计(17)

功能介绍 启动界面 开始采集&#xff1a; PS&#xff1a;不涉及 数据保存&#xff0c;重现等功能 界面设计 界面分为三块&#xff1a;顶部黑条带关闭按钮、左边对话框&#xff0c;右边的主界面 资源&#xff1a; 顶部黑条 top.bmp 2* 29 &#xff08;宽 * 高 像素点&…...

锐捷(十五)mpls vxn跨域optionc场景

一 实验拓扑二 实验需求ce1和ce2为两个分公司&#xff0c;要求两个分公司之间用mpls vxn 进行通信&#xff0c;组网方式是optionc。三 实验分析optionc在转发平面上有点难理解&#xff0c;有一些关键点需要注意&#xff0c;大家点击链接可以参考我上篇发过的一个文章&#xff1…...

2023备战金三银四,Python自动化软件测试面试宝典合集(七)

马上就又到了程序员们躁动不安&#xff0c;蠢蠢欲动的季节~这不&#xff0c;金三银四已然到了家门口&#xff0c;元宵节一过后台就有不少人问我&#xff1a;现在外边大厂面试都问啥想去大厂又怕面试挂面试应该怎么准备测试开发前景如何面试&#xff0c;一个程序员成长之路永恒绕…...

redis 主从复制

在redis的持久化RDB与AOF详解文章中&#xff0c;我们知道如果redis宕机了&#xff0c;我们可以通过AOF 和 RDB 文件的方式恢复数据&#xff0c;从而保证数据的丢失&#xff08;或少量损失&#xff09;从而提高稳定性。但是&#xff0c;如果我们数据只存在一台redis服务器中&…...

如何用Redis实现延迟队列

背景前段时间有个小项目需要使用延迟任务&#xff0c;谈到延迟任务&#xff0c;我脑子第一时间一闪而过的就是使用消息队列来做&#xff0c;比如RabbitMQ的死信队列又或者RocketMQ的延迟队列&#xff0c;但是奈何这是一个小项目&#xff0c;并没有引入MQ&#xff0c;我也不太想…...

项目文件相关总结

风险登记册 风险登记册记录了已识别单个风险的详细信息。其主要内容包括: 已识别的风险清单潜在的风险责任人潜在的风险应对措施清单风险管理计划要求的其他信息供方选择标准 供方选择标准用于确保选出的建议书将提供最佳质量的所需服务,主要内容 包括: 能力和潜力产品成本…...

ZooKeeper集群搭建步骤

一、准备虚拟机准备三台虚拟机&#xff0c;对应ip地址和主机名如下&#xff1a;ip地址Hostname192.168.153.150ant163192.168.153.151ant164192.168.153.152ant165修改hostname&#xff0c;并使之生效[rootlocalhost /]# hostnamectl set-hostname zookeeper1 //修改hostname …...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek

文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama&#xff08;有网络的电脑&#xff09;2.2.3 安装Ollama&#xff08;无网络的电脑&#xff09;2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...

IP如何挑?2025年海外专线IP如何购买?

你花了时间和预算买了IP&#xff0c;结果IP质量不佳&#xff0c;项目效率低下不说&#xff0c;还可能带来莫名的网络问题&#xff0c;是不是太闹心了&#xff1f;尤其是在面对海外专线IP时&#xff0c;到底怎么才能买到适合自己的呢&#xff1f;所以&#xff0c;挑IP绝对是个技…...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...