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

开发一个项目的顺序

目录

1.设计表

2.写好pom.xml和application.yml文件 (设置端口号,配置数据源)

3.引入一个插件,帮助自动生成dao层,model层和mapper目录的代码

4.接着配置mybatis的扫描路径,产生这些文件后,需要让myabtis知道在哪

5.配置好之后,去测试一下,是否能够获取到数据库的数据


1.设计表

2.写好pom.xml和application.yml文件 (设置端口号,配置数据源)

3.引入一个插件,帮助自动生成dao层,model层和mapper目录的代码

<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>${mybatis-generator-plugin-version}</version><executions><execution><id>Generate MyBatis Artifacts</id><phase>deploy</phase><goals><goal>generate</goal></goals></execution></executions><configuration><verbose>true</verbose><overwrite>true</overwrite><configurationFile>src/main/resources/mybatis/generatorConfig.xml</configurationFile></configuration>
</plugin>

接着配置一下这个插件:在resources文件下添加generatorConfig,xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration><!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包 --><classPathEntry  location="E:\apache-maven-3.6.1-bin(1)\respository\mysql\mysql-connector-java\5.1.49\mysql-connector-java-5.1.49.jar"/><!-- <classPathEntry  location="D:\maven-warehouse\repository\mysql\mysql-connector-java\8.0.17\mysql-connector-java-8.0.17.jar"/> --><context id="DB2Tables"  targetRuntime="MyBatis3"><!-- 实体类生成序列化属性--><plugin type="org.mybatis.generator.plugins.SerializablePlugin" /><!-- 实体类重写HashCode()和equals()--><plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" /><!-- 实体类重写toString() --><plugin type="org.mybatis.generator.plugins.ToStringPlugin" /><commentGenerator><!-- 是否去除自动生成的注释 --><property name="suppressAllComments" value="true"/><!-- 生成注释是否带时间戳--><property name="suppressDate" value="true"/><!-- 生成的Java文件的编码格式 --><property name="javaFileEncoding" value="utf-8"/><!-- 格式化java代码--><property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter" /><!-- 格式化XML代码--><property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter" /></commentGenerator><!-- 数据库连接驱动类,URL,用户名、密码 --><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://127.0.0.1:3306/forum_db?useUnicode=true&amp;characterEncoding=UTF-8"userId="root" password="123456"></jdbcConnection><!-- java类型处理器:处理DB中的类型到Java中的类型 --><javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl"><!-- 是否有效识别DB中的BigDecimal类型 --><property name="forceBigDecimals" value="true"/></javaTypeResolver><!-- 生成Domain模型:包名(targetPackage)、位置(targetProject) --><!--<javaModelGenerator targetPackage="com.project.business.domain" targetProject="D:/workSpace/project/src/main/java">&lt;!&ndash; 在targetPackage的基础上,根据数据库的schema再生成一层package,最终生成的类放在这个package下,默认为false &ndash;&gt;<property name="enableSubPackages" value="true"/>&lt;!&ndash; 设置是否在getter方法中,对String类型字段调用trim()方法&ndash;&gt;<property name="trimStrings" value="true"/></javaModelGenerator>--><!--实体类 --><javaModelGenerator targetPackage="com.xiexiangpeng.forum01.model" targetProject="src/main/java"><property name="enableSubPackages" value="true"/><property name="trimStrings" value="true"/></javaModelGenerator><!-- 生成xml映射文件:包名(targetPackage)、位置(targetProject) --><sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"><property name="enableSubPackages" value="true"/></sqlMapGenerator><!-- 生成DAO接口:包名(targetPackage)、位置(targetProject) --><javaClientGenerator type="XMLMAPPER" targetPackage="com.xiexiangpeng.forum01.dao" targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!-- 要生成的表:tableName - 数据库中的表名或视图名,domainObjectName - 实体类名 --><table tableName="t_article" domainObjectName="Article"enableCountByExample="false"enableUpdateByExample="false"enableDeleteByExample="false"enableSelectByExample="false"selectByExampleQueryId="false"></table><table tableName="t_article_reply" domainObjectName="ArticleReply"enableCountByExample="false"enableUpdateByExample="false"enableDeleteByExample="false"enableSelectByExample="false"selectByExampleQueryId="false"></table><table tableName="t_board" domainObjectName="Board"enableCountByExample="false"enableUpdateByExample="false"enableDeleteByExample="false"enableSelectByExample="false"selectByExampleQueryId="false"></table><table tableName="t_message" domainObjectName="Message"enableCountByExample="false"enableUpdateByExample="false"enableDeleteByExample="false"enableSelectByExample="false"selectByExampleQueryId="false"></table><table tableName="t_user" domainObjectName="User"enableCountByExample="false"enableUpdateByExample="false"enableDeleteByExample="false"enableSelectByExample="false"selectByExampleQueryId="false"></table></context>
</generatorConfiguration>

4.接着配置mybatis的扫描路径,产生这些文件后,需要让myabtis知道在哪

5.配置好之后,去测试一下,是否能够获取到数据库的数据

6.编写公共代码

6.1 对已知的失败和成功的状态进行描述

package com.xiexiangpeng.forum01.common;public enum ResultCode {SUCCESS                     (0, "操作成功"),FAILED                      (1000, "操作失败"),FAILED_UNAUTHORIZED         (1001, "未授权"),FAILED_PARAMS_VALIDATE      (1002, "参数校验失败"),FAILED_FORBIDDEN            (1003, "禁止访问"),FAILED_CREATE               (1004, "新增失败"),FAILED_NOT_EXISTS           (1005, "资源不存在"),// 关于用户的错误描述FAILED_USER_EXISTS          (1101, "用户已存在"),FAILED_USER_NOT_EXISTS      (1102, "用户不存在"),FAILED_LOGIN                (1103, "用户名或密码错误"),FAILED_USER_BANNED          (1104, "您已被禁言, 请联系管理员, 并重新登录."),FAILED_USER_ARTICLE_COUNT   (1105, "更新帖子数量失败"),FAILED_TWO_PWD_NOT_SAME     (1106, "两次输入的密码不一致"),// 关于版块的错误描述FAILED_BOARD_ARTICLE_COUNT  (1201, "更新帖子数量失败"),FAILED_BOARD_BANNED         (1202, "版块状况异常"),FAILED_BOARD_NOT_EXISTS     (1203, "版块不存在"),FAILED_ARTICLE_NOT_EXISTS   (1301, "帖子不存在"),FAILED_ARTICLE_BANNED       (1302, "帖子状况异常"),FAILED_MESSAGE_NOT_EXISTS   (1401, "站内信不存在"),ERROR_SERVICES              (2000, "服务器内部错误"),ERROR_IS_NULL               (2001, "IS NULL.");// 状态码int code;// 描述信息String message;ResultCode(int code, String message) {this.code = code;this.message = message;}@Overridepublic String toString() {return "code = " + code + ", message = " + message + ". ";}public int getCode() {return code;}public String getMessage() {return message;}}

6.2  确定给前端返回的结果的格式

 包含以上三种信息:状态码,描述信息,返回的数据:

提供对外访问的方法:

 

全部代码:

package com.xiexiangpeng.forum01.common;import com.fasterxml.jackson.annotation.JsonInclude;public class AppResult<T> {// 状态码@JsonInclude(JsonInclude.Include.ALWAYS) // 不论任何情况都参与JSON序列化private int code;// 描述信息@JsonInclude(JsonInclude.Include.ALWAYS)private String message;// 具体的数据@JsonInclude(JsonInclude.Include.ALWAYS)private T data;//构造方法public AppResult(int code, String message) {this(code, message, null);}public AppResult(int code, String message, T data) {this.code = code;this.message = message;this.data = data;}//这是对外提供的一些静态方法public static AppResult success () {return new AppResult (ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage());}public static AppResult success (String message) {return new AppResult(ResultCode.SUCCESS.getCode(), message);}public static <T> AppResult<T> success (T data) {return new AppResult<>(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMessage(), data);}public static <T> AppResult<T> success (String message, T data) {return new AppResult<>(ResultCode.SUCCESS.getCode(), message, data);}public static AppResult failed () {return new AppResult(ResultCode.FAILED.getCode(), ResultCode.FAILED.getMessage());}public static AppResult failed (String message) {return new AppResult(ResultCode.FAILED.getCode(), message);}public static AppResult failed (ResultCode resultCode) {return new AppResult(resultCode.getCode(), resultCode.getMessage());}public int getCode() {return code;}public void setCode(int code) {this.code = code;}public void setMessage(String message) {this.message = message;}public T getData() {return data;}public void setData(T data) {this.data = data;}public String getMessage() {return message;}
}

6.3.编写自定义异常

能够让异常被我们精准控制

package com.xiexiangpeng.forum01.exception;import com.xiexiangpeng.forum01.common.AppResult;public class ApplicationException extends RuntimeException{// 在异常中持有一个错误信息对象protected AppResult errorResult;/*** 构造方法* @param errorResult*/public ApplicationException (AppResult errorResult) {super(errorResult.getMessage());this.errorResult = errorResult;}public ApplicationException(String message) {super(message);}public ApplicationException(String message, Throwable cause) {super(message, cause);}public ApplicationException(Throwable cause) {super(cause);}public AppResult getErrorResult() {return errorResult;}}

 6.4全局异常和自定义异常处理

package com.bitejiuyeke.forum.exception;import com.bitejiuyeke.forum.common.AppResult;
import com.bitejiuyeke.forum.common.ResultCode;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;/*** 全局异常处理** @Author 比特就业课*/
@Slf4j
@ControllerAdvice
public class GlobalExceptionHandler {//捕获自定义异常@ResponseBody@ExceptionHandler(ApplicationException.class)public AppResult applicationExceptionHandler (ApplicationException e) {// 打印异常信息e.printStackTrace(); // 上生产之前要删除// 打印日志log.error(e.getMessage());if (e.getErrorResult() != null) {return e.getErrorResult();}// 非空校验if (e.getMessage() == null || e.getMessage().equals("")) {return AppResult.failed(ResultCode.ERROR_SERVICES);}// 返回具体的异常信息return AppResult.failed(e.getMessage());}//捕获全局异常@ResponseBody@ExceptionHandler(Exception.class)public AppResult exceptionHandler (Exception e) {// 打印异常信息e.printStackTrace();// 打印日志log.error(e.getMessage());// 非空校验if (e.getMessage() == null || e.getMessage().equals("")) {return AppResult.failed(ResultCode.ERROR_SERVICES);}// 返回异常信息return AppResult.failed(e.getMessage());}
}

相关文章:

开发一个项目的顺序

目录 1.设计表 2.写好pom.xml和application.yml文件 &#xff08;设置端口号&#xff0c;配置数据源&#xff09; 3.引入一个插件&#xff0c;帮助自动生成dao层&#xff0c;model层和mapper目录的代码 4.接着配置mybatis的扫描路径&#xff0c;产生这些文件后&#xff0c;…...

第P10周:Pytorch实现车牌识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客 &#x1f356; 原作者&#xff1a;K同学啊 一.导入数据 from torchvision.transforms import transforms from torch.utils.data import DataLoader from torchvision import datase…...

如何在 Windows 上安装 Python

Python是一种高级编程语言&#xff0c;由于其简单性、多功能性和广泛的应用范围而变得越来越流行。如何在 Windows 操作系统中安装 Python 的过程相对简单&#xff0c;只需几个简单的步骤。 本文旨在指导您完成在 Windows 计算机上下载和安装 Python 的过程。 如何在 Windows…...

探秘区块链开发:智能合约在 DApp 中的地位及与传统开发差异

从:引言:当我们谈论区块链开发时,实际在讨论什么?,我们已经能够知道,当我们在讨论区块链开发的时候,大多数时间里说的就是DApp开发。 那么DApp是由什么组成的呢?从上篇文章的特征中我们得出一个技术名词”智能合约“。这是DApp的一个重要特征,也是DApp的一个重要组成…...

react redux的学习,多个reducer

redux系列文章目录 第一章 简单学习redux,单个reducer 前言 前面我们学习到的是单reducer的使用&#xff1b;要知道redux是个很强大的状态存储库&#xff0c;可以支持多个reducer的使用。 combineReducers ‌combineReducers‌是Redux中的一个辅助函数&#xff0c;主要用于…...

SadTalker 数字人web网页版-不需要GPU也可以跑

数字人启动 Active code page: 65001 开始运行 Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr 5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)] Commit hash: <none> Installing requirements for SadTalker WebUI (may take longer time in first time) Launching SadT…...

最少刷题数--二分+排序

1.考虑重复&#xff0c;题意是多的不超过少的&#xff0c;等于不算 2.所以中间的要二分判断 3.同时排序后要刷的题数也可能是pos-i&#xff0c;也可能是pos-i1&#xff0c;也要判断一下 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long lo…...

花卉识别分类系统,Python/resnet18/pytorch

花卉识别分类系统,Python/resnet18/pytorch 基于pytorch训练, resnet18网络&#xff0c;可用于训练其他分类问题&#xff0c;也可自己重新训练 共五种花卉&#xff1a;雏菊&#xff0c;蒲公英&#xff0c;玫瑰&#xff0c;向日葵&#xff0c;郁金香 标价包含GUI源码、数据集…...

基于 .NET 8 + Lucene.Net + 结巴分词实现全文检索与匹配度打分实战指南

文章目录 前言一、技术选型与优势1.1 技术栈介绍1.2 方案优势 二、环境搭建与配置2.1 安装 NuGet 包2.2 初始化核心组件 三、索引创建与文档管理3.1 构建索引3.2 动态更新策略 四、搜索与匹配度排序4.1 执行搜索4.2 自定义评分算法&#xff08;扩展&#xff09; 五、高级优化技…...

【图像处理基石】什么是neural style transfer?

1. 什么是neural style transfer? 神经风格迁移&#xff08;Neural Style Transfer&#xff09;是一种利用深度学习技术将一幅图像的风格&#xff08;如笔触、色彩、纹理等&#xff09;与另一幅图像的内容&#xff08;如物体、场景结构&#xff09;结合的方法。其核心思想是通…...

ubuntu20.04升级成ubuntu22.04

命令行 sudo do-release-upgrade 我是按提示输入y确认操作&#xff0c;也可以遇到配置文件冲突时建议选择N保留当前配置...

【C++奇遇记】C++中的进阶知识(继承(一))

&#x1f3ac; 博客主页&#xff1a;博主链接 &#x1f3a5; 本文由 M malloc 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f384; 学习专栏推荐&#xff1a;LeetCode刷题集 数据库专栏 初阶数据结构 &#x1f3c5; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如…...

SpringBoot异步任务实践指南:提升系统性能的利器

精心整理了最新的面试资料和简历模板&#xff0c;有需要的可以自行获取 点击前往百度网盘获取 点击前往夸克网盘获取 引言 在现代Web应用中&#xff0c;高并发场景下的响应速度和资源利用率是系统设计的重要考量。SpringBoot通过简洁的异步任务机制&#xff0c;帮助开发者轻松…...

Gson修仙指南:谷歌大法的佛系JSON渡劫手册

各位在代码世界打坐修行的道友们&#xff01;今天我们要参悟Google出品的JSON心法——Gson&#xff01;这货就像代码界的扫地僧&#xff0c;表面朴实无华&#xff0c;实则内力深厚&#xff0c;专治各种JSON不服&#xff01;准备好迎接"万物皆可JSON"的顿悟时刻了吗&a…...

MINIQMT学习课程Day8

获取qmt账号的资金账号后&#xff0c;我们进入下一步&#xff0c;如何获得当前账号的持仓情况 还是之前的步骤&#xff0c;打开qmt&#xff0c;选择独立交易&#xff0c; 之后使用pycharm&#xff0c;编写py文件。 from xtquant import xtdata from xtquant.xttrader import…...

spring-ai-alibaba第八章使用searxng构建大模型联网搜索应用

1、searxng安装配置 详见 anythingLLM结合searXNG实现联网搜索_anythingllm 配置 searxng-CSDN博客 2、本文介绍如何使用 Spring AI Alibaba 构建大模型联网搜索应用结合模块化 RAG&#xff08;Module RAG&#xff09;和信息检索服务&#xff08;SearXNG&#xff09;赋能大模…...

C#:is关键字

目录 is 关键字的核心是什么&#xff1f; 1. 什么是 is 关键字&#xff0c;为什么要用它&#xff1f; 2. 如何使用 is 关键字&#xff1f; 3. is 的作用和场景 4. is 与 as 的区别 5. 模式匹配的扩展&#xff08;C# 8.0&#xff09; 6. 常见陷阱和注意事项 总结&#x…...

SpringCloud第二篇:注册中心Eureka

注册中心的意义 注册中心 管理各种服务功能包括服务的注册、发现、熔断、负载、降级等&#xff0c;比如dubbo admin后台的各种功能。 有了注册中心&#xff0c;调用关系的变化&#xff0c;画几个简图来看一下。(了解源码可求求: 1791743380) 服务A调用服务B 有了注册中心之后&a…...

CSS语言的硬件驱动

CSS语言的硬件驱动探讨 引言 随着信息技术的迅猛发展&#xff0c;硬件和软件之间的交互愈发复杂&#xff0c;特别是在嵌入式系统、物联网设备等领域&#xff0c;硬件驱动程序的开发变得至关重要。而在众多编程语言中&#xff0c;CSS&#xff08;层叠样式表&#xff09;作为一…...

浅入浅出:从传统开发者角度去了解区块链和智能合约之间的关系

前言 在传统开发者视角:智能合约与区块链数据库探秘文中我为大家简单的讲解了DApp开发中智能合约开发和传统开发中数据存储层面的不同。而智能合约则是DApp中重要的组成部分,如同传统开发中的后端。 但是我们不要忘记的是:智能合约是应区块链而生的。 那么对于区块链来说…...

使用人工智能大模型DeepSeek,如何免费辅助教学?

今天我们学习DeepSeek工具如何辅助教学?DeepSeek功能很强大&#xff0c;带动人工智能快速发展&#xff0c;这里给DeepSeek点个赞。免费手把手学习视频地址&#xff1a;https://edu.csdn.net/learn/40402/666415 第一步&#xff0c;进入DeepSeek官网。打开google浏览器&#x…...

leetcode-代码随想录-链表-链表理论基础

链表&#xff1a; 通过指针串联在一起的线性结构&#xff1b;每个节点包含两部分&#xff1a;数据域、指针域&#xff08;存放下一个节点的指针&#xff09;入口节点&#xff1a;称为 头节点 head最后一个节点的指针指向 NULL&#xff08;空指针&#xff09; 链表的类型 1. 单…...

dify中配置使用Ktransformer模型

一共是两个框架一个是Ktransformer,一个是dify。 Ktransformer用来部署LLM,比如Deepseek,而LLm的应用框架平台Dify主要用来快速搭建基于LLM应用。 这篇教程主要是用来介绍两个框架的交互与对接的,不是部署Ktransformer也部署部署Dify,要部署Dify、Ktransformer可以直接参考…...

解释区块链技术的应用场景和优势

区块链技术是一种基于分布式账本的技术&#xff0c;被广泛应用于多个领域。以下是区块链技术的主要应用场景和优势&#xff1a; 应用场景&#xff1a; 金融领域&#xff1a;区块链可以用于支付结算、跨境汇款、智能合约等金融服务&#xff0c;提高交易效率和降低成本。物联网…...

明清两朝全方位对比

明清两朝是中国历史上最后两个封建王朝&#xff0c;在政治、经济、文化等方面存在显著差异&#xff0c;以下为主要区别&#xff1a; 一、政治制度 皇权集中程度 明朝&#xff1a;废除丞相制度&#xff0c;设内阁辅助皇帝&#xff0c;但中后期宦官专权&#xff08;如刘瑾、魏…...

Mysql的事务

事务的概念 简单的说事务就是一个连贯性任务,只有一起成功或者一起失败的说法。在mysql的事务中要么事务里的sql语句成功执行,其中有出错就回滚到事务开始时候的状态。对于已经提交的事务来说,该事务对数据库所做的修改将永久生效事务的四大特性ACID 原子性(Atomicity):一件…...

chromium魔改——绕过无限debugger反调试

在进行以下操作之前&#xff0c;请确保已完成之前文章中提到的 源码拉取及编译 部分。 如果已顺利完成相关配置&#xff0c;即可继续执行后续操作。 在浏览器中实现“无限 debugger”的反调试技术是一种常见的手段&#xff0c;用于防止他人通过开发者工具对网页进行调试或逆向…...

【力扣hot100题】(051)腐烂的橘子

我讨厌图论。 这道题写了特别久&#xff0c;不过好歹也是写出来了…… 方法是先将橘子全部遍历一遍&#xff0c;做两件事&#xff1a;①找出所有连通的橘子②找出所有腐烂的橘子&#xff0c;设置一个vector<queue<int>>&#xff0c;每个vector元素代表一片连通的…...

PyTorch实现线性回归的基础写法与封装API写法

目录 1. 基础写法 1.1导包 2.2加载读取数据 2.3原始数据可视化(画图显示) 2.4线性回归的(基础)分解写法 2.5定义训练过程 2.PyTorch实现 线性回归的封装写法(实际项目中的常用写法) 2.1创建线性回归模型 2.2定义损失函数 2.3定义优化器 2.4定义训练过程 1…...

【蓝桥杯】算法笔记3

1. 最长上升子序列(LIS) 1.1. 题目 想象你有一排数字,比如:3, 1, 2, 1, 8, 5, 6 你要从中挑出一些数字,这些数字要满足两个条件: 你挑的数字的顺序要和原来序列中的顺序一致(不能打乱顺序) 你挑的数字要一个比一个大(严格递增) 问:最多能挑出多少个这样的数字? …...

【Linux】条件变量封装类及环形队列的实现

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客仓库&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &…...

wsl2 配置ubuntu 固定ip

提示&#xff1a;环境搭建 文章目录 前言一、安装sshd 服务1. ubuntu 子系统安装 openssh-server2.配置sshd 开启密码链接3.配置sshd 服务开机启动 二、配置固定IP1 查看i2 查看路由3 查看wsl虚拟网卡4 配置wsl 子系统网卡4 设置生效 三、问题1. ssh 无法远程 前言 提示&#…...

电机控制学习路线

一、基础理论准备阶段 电路与电子技术 电路分析基础&#xff08;基尔霍夫定律、动态电路分析&#xff09; 模拟电子技术&#xff08;放大器、滤波电路、功率器件&#xff09; 数字电子技术&#xff08;逻辑电路、微控制器基础&#xff09; 数学工具 线性代数&#xff08;矩…...

Sensodrive力控关节模组SensoJoint:TÜV安全认证助力机器人开发

在机器人技术领域&#xff0c;安全性和开发效率是行业关注的重点。SensoDrive的SensoJoint 机器人力控关节模组&#xff0c;凭借其可靠的安全性能和高效的开发优势&#xff0c;正在为机器人开发提供有力支持。 2025年3月31日&#xff0c;SensoDrive的 SensoJoint 力控关节模组获…...

【橘子大模型】Runnable和Chain以及串行和并行

一、Runnable 前面我们实现了一些关于如何和大模型进行交互的操作。那么我们此时来回顾一下我们当前进行的结构。 我们已经很清楚这些操作的具体含义了&#xff0c;所以我这里就不在多介绍了。我们来看其中的几个点 1、用户那边就是客户&#xff0c;没啥说的。 2、langchain&…...

数据结构 -- 图的存储

图的存储 邻接矩阵法 邻接矩阵存储不带权图 0 - 表示两个顶点不邻接 1 - 表示两个顶点邻接 在无向图中&#xff0c;每条边在矩阵中对应两个1 在有向图中&#xff0c;每条边在矩阵中对应一个1 //不带权图的邻接矩阵存储 #define MaxVertexNum 100 //顶点数目的最大值 typed…...

基于大模型预测不稳定性心绞痛的多维度研究与应用

目录 一、引言 1.1 研究背景与意义 1.2 研究目的 1.3 国内外研究现状 二、不稳定性心绞痛概述 2.1 定义与分类 2.2 发病机制 2.3 临床表现 三、大模型技术原理与应用基础 3.1 大模型介绍 3.2 在医疗领域的应用现状 3.3 用于不稳定性心绞痛预测的可行性 四、术前预…...

【Java集合】LinkedList源码深度分析

参考笔记&#xff1a;java LinkedList 源码分析&#xff08;通俗易懂)_linkedlist源码分析-CSDN博客 目录 1.前言 2.LinkedList简介 3.LinkedList的底层实现 4.LinkedList 与 ArrayList 的对比 4.1 如何选择 4.2 对比图 5.LinkedList 源码Debug 5.1 add(E e) &#xff…...

Java 大视界 -- Java 大数据在智能供应链库存优化与成本控制中的应用策略(172)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

高并发系统架构设计核心要点的结构化提炼【大模型总结】

以下是对高并发系统架构设计核心要点的结构化提炼&#xff0c;结合技术深度与实践视角&#xff0c;以清晰的层次呈现关键策略与实现路径&#xff1a; 一、核心理念重塑 1. 容错优先思维 设计哲学&#xff1a;从"零故障"转向"可恢复性"设计&#xff0c;接…...

【C#深度学习之路】如何使用C#实现Stable Diffusion的文生图功能

【C#深度学习之路】如何使用C#实现Stable Diffusion的文生图功能 项目背景项目实现写在最后项目下载链接 本文为原创文章&#xff0c;若需要转载&#xff0c;请注明出处。 原文地址&#xff1a;https://blog.csdn.net/qq_30270773/article/details/147002073 项目对应的Github地…...

k8s的pod的概述和配置

概念 Pod 容器组 是一个k8s中一个抽象的概念&#xff0c;用于存放一组 container&#xff08;可包含一个或多个 container 容器&#xff0c;即图上正方体)&#xff0c;以及这些 container &#xff08;容器&#xff09;的一些共享资源。这些资源包括&#xff1a; 共享存储&…...

RTOS任务句柄的作用

任务句柄(Task Handle)在 FreeRTOS 中的作用详解 任务句柄(TaskHandle_t)是 FreeRTOS 中用于 唯一标识和管理任务 的核心机制,本质是一个指向任务控制块(TCB)的指针。说明即便创建的任务名相同,但对应的任务句柄一定是不同。 它在任务管理、通信、调试中起到关键作用,…...

OpenVLA-OFT——微调VLA的三大关键设计:并行解码、动作分块、连续动作表示以及L1回归目标

前言 25年3.26日&#xff0c;这是一个值得纪念的日子&#xff0c;这一天&#xff0c;我司「七月在线」的定位正式升级为了&#xff1a;具身智能的场景落地与定制开发商 &#xff0c;后续则从定制开发 逐步过渡到 标准产品化 比如25年q2起&#xff0c;在定制开发之外&#xff0…...

LocaDate、LocalTime、LocalDateTime

Java8的时间处理 Java的时间处理在早期版本中存在诸多问题&#xff08;如 java.util.Date 和 java.util.Calendar 的混乱设计&#xff09;&#xff0c;但Java8引入了引入了全新的 java.time包&#xff08;基于JSR 310&#xff09;&#xff0c;提供了更清晰、线程安全且强大的时…...

哈密尔顿路径(Hamiltonian Path)及相关算法题目

哈密尔顿路径要求访问图中每个顶点恰好一次&#xff0c;通常用于解决旅行商问题&#xff08;TSP&#xff09;或状态压缩DP问题。 哈密尔顿路径&#xff08;Hamiltonian Path&#xff09;是指在一个图中经过每个顶点恰好一次的路径。如果这条路径的起点和终点相同&#xff08;即…...

突破传统限制!全新端到端开放词汇多目标跟踪框架OVTR,开启视觉追踪新纪元

在自动驾驶和智能监控等场景中&#xff0c;多目标跟踪&#xff08;MOT&#xff09;技术需要应对现实世界中层出不穷的新物体类别。传统方法依赖预定义类别&#xff0c;面对“无人机配件”“新型宠物”等未知目标时往往失效。上海人工智能实验室团队提出的OVTR&#xff08;Open-…...

Springboot + Vue + WebSocket + Notification实现消息推送功能

实现功能 基于Springboot与Vue架构&#xff0c;首先使用Websocket实现频道订阅&#xff0c;在实现点对点与群发功能后&#xff0c;在前端调用windows自带的消息通知&#xff0c;实现推送功能。 开发环境 Springboot 2.6.7vue 2.6.11socket-client 1.0.0 准备工作 在 Vue.js…...

Linux内核物理内存组织结构

一、系统调用sys_mmap 系统调用mmap用来创建内存映射&#xff0c;把创建内存映射主要的工作委托给do_mmap函数&#xff0c;内核源码文件处理&#xff1a;mm/mmap.c 二、系统调用sys_munmap 1、vma find_vma (mm, start); // 根据起始地址找到要删除的第一个虚拟内存区域 vma 2…...

Redis高级技能进阶

什么是事务的ACID 事务是由一系列对系统中数据进行访问或更新的操作组成的程序执行逻辑单元。这些操作要么都执行&#xff0c;要么都不执行。 为了保证数据库的一致性&#xff0c;在事务处理之前和之后&#xff0c;都应该遵循某些规则&#xff0c;也就是大家耳熟能详的ACID。 …...