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

MyBatis的parameterType传入参数类型和resultType返回结果类型

记录:413

场景:MyBatis的parameterType传入参数类型和resultType返回结果类型。

版本:JDK 1.8,Spring Boot 2.6.3,mybatis-3.5.9。

1.传入参数parameterType是Integer

传入参数类型parameterType:java.lang.Integer。

返回结果类型resultType: java.lang.String。

1.1Mapper接口代码

@Repository
public interface CityTypeMapper {String getCity01(Integer cityId);
} 

1.2XML代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hub.example.mapper.CityTypeMapper"><select id="getCity01" parameterType="java.lang.Integer" resultType="java.lang.String">select CITY_NAME FROM t_city WHERE CITY_ID=#{cityId}</select>   
</mapper>

2.传入参数parameterType是Long

传入参数类型parameterType: java.lang.Long。

返回结果类型resultType: java.lang.String。

2.1Mapper接口代码

@Repository
public interface CityTypeMapper {String getCity02(Long cityId);
}

2.2XML代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hub.example.mapper.CityTypeMapper"><select id="getCity02" parameterType="java.lang.Long" resultType="java.lang.String">select CITY_NAME FROM t_city WHERE CITY_ID=#{cityId}</select>   
</mapper>

3.传入参数parameterType是Double

传入参数类型parameterType: java.lang.Double。

返回结果类型resultType: java.lang.Double。

3.1Mapper接口代码

@Repository
public interface CityTypeMapper {Double getCity03(Double gross);
}

3.2XML代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hub.example.mapper.CityTypeMapper"><select id="getCity03" parameterType="java.lang.Double" resultType="java.lang.Double">select LAND_AREA FROM t_city WHERE GROSS=#{gross}</select>   
</mapper>

4.传入参数parameterType是String

传入参数类型parameterType: java.lang.String。

返回结果类型resultType: java.lang.Long。

4.1Mapper接口代码

@Repository
public interface CityTypeMapper {Long getCity04(String cityName);
}

4.2XML代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hub.example.mapper.CityTypeMapper"><select id="getCity04" parameterType="java.lang.String" resultType="java.lang.Long">select CITY_ID FROM t_city WHERE CITY_NAME=#{cityName}</select>   
</mapper>

5.传入参数parameterType是List<Long>

传入参数类型parameterType: java.util.ArrayList。

返回结果类型resultType: java.lang.Long。

5.1Mapper接口代码

@Repository
public interface CityTypeMapper {long[] getCity05(List<Long> cityIdList);
}

5.2XML代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hub.example.mapper.CityTypeMapper"><select id="getCity05" parameterType="java.util.ArrayList" resultType="java.lang.Long" >select POPULATION FROM t_city WHERE CITY_ID IN<foreach collection="list" item="cityId" open="(" separator="," close=")">#{cityId}</foreach></select>   
</mapper>

6.传入参数parameterType是Long[]

传入参数类型parameterType: long[]。

返回结果类型resultType: java.lang.String。

6.1Mapper接口代码

@Repository
public interface CityTypeMapper {List<String> getCity06(Long[] cityIdList);
}

6.2XML代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hub.example.mapper.CityTypeMapper"><select id="getCity06" parameterType="long[]" resultType="java.lang.String">select CITY_NAME FROM t_city WHERE CITY_ID IN<foreach collection="array" item="cityId" open="(" separator="," close=")">#{cityId}</foreach></select>   
</mapper>

7.传入参数parameterType是Map<String, Object>

传入参数类型parameterType: java.util.Map。

返回结果类型resultType: com.hub.example.domain.CityPO。

7.1Mapper接口代码

@Repository
public interface CityTypeMapper {CityPO getCity07(Map<String, Object> cityMap); 
}

7.2XML代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hub.example.mapper.CityTypeMapper"><select id="getCity07" parameterType="java.util.Map" resultType="com.hub.example.domain.CityPO">select CITY_ID       AS "cityId",CITY_NAME     AS "cityName",LAND_AREA     AS "landArea",POPULATION    AS "population",GROSS         AS "gross",CITY_DESCRIBE AS "cityDescribe",DATA_YEAR     AS "dataYear",UPDATE_TIME   AS "updateTime"from t_citywhere CITY_ID = #{cityId}AND CITY_NAME = #{cityName}</select>   
</mapper>

8.传入参数parameterType是CityPO

传入参数类型parameterType: com.hub.example.domain.CityPO。

返回结果类型resultType: java.util.Map。

8.1Mapper接口代码

@Repository
public interface CityTypeMapper {Map<String, Object> getCity08(CityPO cityPO);   
}

8.2XML代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hub.example.mapper.CityTypeMapper"><select id="getCity08" parameterType="com.hub.example.domain.CityPO" resultType="java.util.Map">select CITY_ID       AS "cityId",CITY_NAME     AS "cityName",LAND_AREA     AS "landArea",POPULATION    AS "population",GROSS         AS "gross",CITY_DESCRIBE AS "cityDescribe",DATA_YEAR     AS "dataYear",UPDATE_TIME   AS "updateTime"from t_citywhere CITY_ID = #{cityId}AND CITY_NAME = #{cityName}</select>   
</mapper>

9.传入参数parameterType是Date

传入参数类型parameterType: java.util.Date。

返回结果类型resultType: java.lang.String。

9.1Mapper接口代码

@Repository
public interface CityTypeMapper {String getCity09(Date date);
}

9.2XML代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hub.example.mapper.CityTypeMapper"><select id="getCity09" parameterType="java.util.Date" resultType="java.lang.String">select CITY_NAMEFROM t_citywhere UPDATE_TIME = #{date}</select>   
</mapper>

10.传入参数parameterType是List<Long>

传入参数类型parameterType: java.util.ArrayList。

返回结果类型resultType: com.hub.example.domain.CityPO。

10.1Mapper接口代码

@Repository
public interface CityTypeMapper {List<CityPO> getCity10(List<Long> paraList);   
}

10.2XML代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hub.example.mapper.CityTypeMapper"><select id="getCity10" parameterType="java.util.ArrayList" resultType="com.hub.example.domain.CityPO">select CITY_ID AS "cityId",CITY_NAME AS "cityName",LAND_AREA AS "landArea",POPULATION AS "population",GROSS AS "gross",CITY_DESCRIBE AS "cityDescribe",DATA_YEAR AS "dataYear",UPDATE_TIME AS "updateTime"from t_cityWHERE CITY_ID IN<foreach collection="list" item="cityId" open="(" separator="," close=")">#{cityId}</foreach></select>   
</mapper>

11.传入参数parameterType是List<Long>

传入参数类型parameterType: java.util.ArrayList。

返回结果类型resultType: java.util.Map。

11.1Mapper接口代码

@Repository
public interface CityTypeMapper {List<Map<String, Object>> getCity11(List<Long> paraList);
}

11.2XML代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hub.example.mapper.CityTypeMapper"><select id="getCity11" parameterType="java.util.ArrayList" resultType="java.util.Map">select CITY_ID AS "cityId",CITY_NAME AS "cityName",LAND_AREA AS "landArea",POPULATION AS "population",GROSS AS "gross",CITY_DESCRIBE AS "cityDescribe",DATA_YEAR AS "dataYear",UPDATE_TIME AS "updateTime"from t_cityWHERE CITY_ID IN<foreach collection="list" item="cityId" open="(" separator="," close=")">#{cityId}</foreach></select>   
</mapper>

12.测试代码

12.1代码

@Slf4j
@RestController
@RequestMapping("/hub/example/cityType")
public class CityTypeController {@Autowiredprivate CityTypeMapper cityTypeMapper;@GetMapping("/load01")public Object load01() {log.info("测试开始...");// 1.parameterType: java.lang.Integer; resultType: java.lang.StringString cityName01 = cityTypeMapper.getCity01(2);// 2.parameterType: java.lang.Long; resultType: java.lang.StringString cityName02 = cityTypeMapper.getCity02(1L);// 3.parameterType: java.lang.Double; resultType: java.lang.Doubledouble landArea = cityTypeMapper.getCity03(1.81D);// 4.parameterType: java.lang.String; resultType: java.lang.Longlong cityId = cityTypeMapper.getCity04("苏州");List<Long> paraList01 = Arrays.asList(1L, 2L);// 5.parameterType: java.util.ArrayList; resultType: java.lang.Longlong[] population = cityTypeMapper.getCity05(paraList01);// 6.parameterType: long[]; resultType: java.lang.StringLong[] paraList02 = new Long[]{1L, 2L};List<String> cityNameList = cityTypeMapper.getCity06(paraList02);// 7.parameterType: java.util.Map; resultType: com.hub.example.domain.CityPOMap<String, Object> map = new HashMap<>();map.put("cityId", 3L);map.put("cityName", "苏州");CityPO cityPO = cityTypeMapper.getCity07(map);// 8.parameterType: com.hub.example.domain.CityPO; resultType: java.util.MapCityPO cityPO02 = CityPO.builder().cityId(3L).cityName("苏州").build();Map<String, Object> map02 = cityTypeMapper.getCity08(cityPO02);// 9.parameterType: java.util.Date; resultType: java.lang.StringDate date = DateUtil.parse("2023-03-10 05:39:16", "yyyy-MM-dd HH:mm:ss");String time = cityTypeMapper.getCity09(date);// 10.parameterType: java.util.ArrayList; resultType: com.hub.example.domain.CityPOList<Long> paraList = Arrays.asList(1L, 2L, 3L);List<CityPO> list01 = cityTypeMapper.getCity10(paraList);// 11.parameterType: java.util.ArrayList; resultType: java.util.MapList<Long> paraList03 = Arrays.asList(1L, 2L, 3L);List<Map<String, Object>> list02 = cityTypeMapper.getCity11(paraList03);log.info("测试结束...");
return "执行成功";}
}

12.2测试请求

URL01: http://127.0.0.1:18080/hub-example/hub/example/cityType/load01

13.基础支撑

13.1实体对象

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CityPO implements Serializable {private Long cityId;private String cityName;private Double landArea;private Long population;private Double gross;private String cityDescribe;private String dataYear;private Date updateTime;
}

13.2建表语句

CREATE TABLE t_city (CITY_ID BIGINT(16) NOT NULL COMMENT '唯一标识',CITY_NAME VARCHAR(64) COLLATE utf8_bin NOT NULL COMMENT '城市名',LAND_AREA DOUBLE DEFAULT NULL COMMENT '城市面积',POPULATION BIGINT(16) DEFAULT NULL COMMENT '城市人口',GROSS DOUBLE DEFAULT NULL COMMENT '生产总值',CITY_DESCRIBE VARCHAR(512) COLLATE utf8_bin DEFAULT NULL COMMENT '城市描述',DATA_YEAR VARCHAR(16) COLLATE utf8_bin DEFAULT NULL COMMENT '数据年份',UPDATE_TIME DATETIME DEFAULT NULL COMMENT '更新时间'
) ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='城市信息表';

13.3引入MyBatis依赖

使用mybatis-spring-boot-starter方式引入mybatis,对应mybatis-3.5.9和mybatis-spring-2.0.7核心依赖。

<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version>
</dependency>

以上,感谢。

2023年4月17日

相关文章:

MyBatis的parameterType传入参数类型和resultType返回结果类型

记录&#xff1a;413 场景&#xff1a;MyBatis的parameterType传入参数类型和resultType返回结果类型。 版本&#xff1a;JDK 1.8,Spring Boot 2.6.3,mybatis-3.5.9。 1.传入参数parameterType是Integer 传入参数类型parameterType&#xff1a;java.lang.Integer。 返回结…...

什么是Android FrameWork,请你介绍一下?

Framework是什么 Framework的中文意思是“框架”&#xff0c;在软件开发中通常指开发框架&#xff0c;在一个系统中处于内核层之上&#xff0c;为顶层应用提供接口&#xff0c;被设计用来帮助开发者快速开发顶层应用&#xff0c;而不必关心系统内核运行机制&#xff0c;通常Fr…...

【SQL 必知必会】- 第十六课 更新和删除数据

目录 更新数据 不要省略WHERE 子句 在UPDATE 语句中使用子查询 删除数据 不要省略WHERE 子句 友好的外键 删除表的内容而不是表 更快的删除 更新和删除的指导原则 这一课介绍如何利用UPDATE 和DELETE 语句进一步操作表数据。 更新数据 更新&#xff08;修改&#xff09;表中…...

常见哈希算法及其应用

哈希算法经常会被用到&#xff0c;比如我们Go里面的map&#xff0c;Java的HashMap&#xff0c;目前最流行的缓存Redis都大量用到了哈希算法。它们支持把很多类型的数据进行哈希计算&#xff0c;我们实际使用的时候并不用考虑哈希算法的实现。而其实不同的数据类型&#xff0c;所…...

PHP快速入门02-PHP语言基础

文章目录前言一、 数据类型1.1 String&#xff08;字符串&#xff09;1.2 Integer&#xff08;整型&#xff09;1.3 Float&#xff08;浮点型&#xff09;1.4 Boolean&#xff08;布尔型&#xff09;1.5 Array&#xff08;数组&#xff09;1.6 Object&#xff08;对象&#xff…...

FSCapture - 长截图工具

FSCapture - 长截图工具前言下载使用推荐设置长截图前言 目前大部分手机系统都自带长截图功能&#xff0c;但Windows系统没有自带的长截图功能&#xff0c;因此推荐一款第三方工具FSCapture&#xff0c;该软件轻量强大&#xff0c;支持长截图&#xff0c;即滚动截图。 下载 …...

[ 云计算 | Azure ] Chapter 05 | 核心体系结构之管理组、订阅、资源和资源组以及层次关系

本文主要对如下内容进行讲解&#xff1a;Azure云计算的核心体系结构组件中的&#xff1a;资源、订阅和资源组&#xff0c;以及了解 Azure 资源管理器 (ARM) 如何部署资源。 本系列已经更新文章列表&#xff1a; [ 云计算 | Azure ] Chapter 03 | 描述云计算运营中的 CapEx 与…...

【算法LearnNO.1】算法介绍以及算法的时间复杂度和空间复杂度

目录 一、算法 1、算法概述 2、算法的5个特性 3、设计算法的标准 二、时间复杂度 1、时间复杂度的介绍 2、渐进时间复杂度的求法 3、计算时间复杂度的代码举例&#xff08;平方阶示例&#xff09; 4、时间复杂度排序 三、空间复杂度 一、算法 1、算法概述 算法就是解…...

013:Mapbox GL添加marker

第013个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中添加marker。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共70行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https://xiaozhu…...

智慧工厂可视化合集,推动行业数字化转型

图扑软件基于 HTML5&#xff08;Canvas/WebGL/WebVR&#xff09;标准的 Web 技术&#xff0c;满足了工业物联网跨平台云端化部署实施的需求&#xff0c;以低代码的形式自由构建三维数字孪生、大屏可视化、工业组态等等。从 SDK 组件库&#xff0c;到 2D 和 3D 编辑&#xff0c;…...

工作流调度系统 Azkaban介绍与安装(一)

文章目录前言1、为什么要用工作流调度系统2、常见的工作流调度系统1 集群规划2 配置 MySQL3 配置 Executor Server3.1 修改 azkaban.properties3.2 启动3.3 激活4 配置 Web Server4.1 修改 azkaban.properties4.2 修改azkaban-users.xml文件&#xff0c;添加 atguigu 用户4.3 启…...

【Python基础入门学习】Python工具Pycharm的安装与使用

一、关于Python 1.1 下载Python 在下载与安装pycharm工具前&#xff0c;一定要先安装python 打开Python官网&#xff1a;python下载打开上述网站&#xff0c;选择 Downloads -> 系统 我是Windows系统&#xff0c;点击进入后&#xff0c;找到自己要安装的安装包以及想安装的…...

【版本控制】Github同步Gitee镜像仓库自动化脚本

文章目录Github同步Gitee镜像仓库自动化脚本前言什么是Hub Mirror Action&#xff1f;1.介绍2.用法配置步骤1.生成密钥对2.GitHub私钥配置3.Gitee公钥配置4.Gitee生成私人令牌5.Github绑定Gitee令牌6.编写CI脚本7.多仓库同步推送8.定时运行脚本总结Github同步Gitee镜像仓库自动…...

索引的分类

1.唯一索引 给表中某一列设置为了唯一约束(这列不允许出现重复数据)后&#xff0c;数据库会为将这一列设置索引&#xff0c;这个索引叫做唯一索引&#xff08;主键那一列是一个特殊的唯一索引&#xff0c;不仅要满足唯一索引这一列不可以出现重复数据&#xff0c;而且这一列还…...

【整理九】

目录1.说说你对递归的理解&#xff1f;封装一个方法用递归实现树形结构封装2.Link和import有什么区别&#xff1f;3.什么是FOUC? 如何避免&#xff1f;4.说说你对预编译器的理解&#xff1f;5.shouldComponentUpdate 的作用6.概述下 React 中的事务处理逻辑7.React组件的划分业…...

钢网是SMT生产使用的一种工具,如何制作?

钢网是SMT生产使用的一种工具&#xff0c;其主要功能是将锡膏准确地涂敷在有需要焊接的PCB焊盘上。 钢网的好坏&#xff0c;直接影响印刷工作的质量&#xff0c;目前一般使用的金属钢网&#xff0c;是由薄薄的、带有小孔的金属板制作成的&#xff0c;在开孔处&#xff0c;锡膏…...

如何创建自己的gym环境

我们为什么要创建一个gym的环境呢&#xff1f;因为需要&#xff0c;哈哈哈&#xff0c;这是一句废话&#xff0c;但是也是一句真话。因为我不想自己写强化学习的算法了&#xff0c;我想用一些现成的框架&#xff0c;这些框架训练的都是gym的游戏&#xff0c;那我把我自己想要训…...

使用Marshaller 将Java对象转化为XML格式和字符串转为xml

使用Marshaller 将Java对象转化为XML格式 对象转xml内容 ①工具类 public static String convertObjectToXml(Object obj) throws Exception {StringWriter writer new StringWriter();// 创建 JAXBContext 和 MarshallerJAXBContext context JAXBContext.newInstance(obj.ge…...

NumPy 秘籍中文第二版:八、质量保证

原文&#xff1a;NumPy Cookbook - Second Edition 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 “如果您对计算机撒谎&#xff0c;它将帮助您。” – Perry Farrar&#xff0c;ACM 通讯&#xff0c;第 28 卷 在本章中&#xff0c;我们将介绍以下秘籍&#xff1a; …...

[ 应急响应篇基础 ] 日志分析工具Log Parser配合login工具使用详解(附安装教程)

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…...

FanControl终极指南:5步实现Windows风扇精准控制与静音优化

FanControl终极指南&#xff1a;5步实现Windows风扇精准控制与静音优化 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trendi…...

在龙芯3A6000/7A2000上玩转GPIO和I2C:手把手教你解读和修改固件ACPI表

龙芯平台ACPI表深度解析&#xff1a;从GPIO配置到I2C设备驱动的实战指南 当你在龙芯3A6000或7A2000开发板上连接一个温湿度传感器&#xff0c;却发现系统毫无反应时&#xff0c;问题很可能出在ACPI表的配置上。作为嵌入式开发者&#xff0c;理解并掌握ACPI表的修改技巧&#x…...

告别Unity!用eDrawings ActiveX控件在WinForm里轻松嵌入CAD三维模型(附避坑指南)

轻量化CAD集成方案&#xff1a;eDrawings ActiveX控件在WinForm中的高效实践 当机械设计软件公司需要为内部物料管理系统添加零件预览功能时&#xff0c;技术选型往往面临两难抉择。Unity等游戏引擎虽然功能强大&#xff0c;但其资源占用和开发复杂度对于简单的CAD模型预览场景…...

保姆级教程:用YOLOv8和Pyside6从零搭建一个火焰烟雾检测桌面应用(附完整源码和数据集)

从零构建火焰烟雾检测桌面应用&#xff1a;YOLOv8与Pyside6实战指南 在工业安全、家庭监控和实验室防护场景中&#xff0c;火焰与烟雾的早期检测至关重要。传统监控系统依赖人工值守或简单传感器&#xff0c;难以实现精准的实时预警。本文将带你用Python生态中最前沿的YOLOv8目…...

有钱才懂爱:赚到钱你再去谈男女关系,你会发现,择偶逻辑都变了。 没钱的时候,你看到的是一堆条件:房子、车子、工作、家境。 有钱了之后,那些条件你都自己有了

先谋生,再谋爱:有钱之后,我才看懂了男女关系的真相 目录 先谋生,再谋爱:有钱之后,我才看懂了男女关系的真相 没钱的时候,你谈的从来都不是爱情,是“生存合伙” 钱是最好的过滤器,它能帮你滤掉所有的“功能性需求” 底层的“忠诚”,很多时候只是“没有选择”的同义词…...

Redis分布式锁进阶第六十一篇

一、本篇前置衔接 第九十二篇我们完成Redisson源码拆解、手写复刻、底层内核穿透&#xff0c;彻底明白分布式锁代码层、脚本层、线程层原理。到此为止&#xff0c;代码、源码、坑点、运维、监控、面试全部讲透。但很多开发最大的困惑依旧存在&#xff1a;不同体量公司为什么锁架…...

Vue3组合式API进阶:深入理解和高效使用Composition API

Vue3组合式API进阶&#xff1a;深入理解和高效使用Composition API 前言 大家好&#xff0c;我是前端老炮儿&#xff01;今天咱们来聊聊Vue3组合式API的进阶用法。 你以为ref和reactive就够了&#xff1f;那你可太天真了&#xff01;Vue3的Composition API远比你想象的更强大。…...

Excel MCP Server 完全指南:无需安装Excel的自动化处理方案

Excel MCP Server 完全指南&#xff1a;无需安装Excel的自动化处理方案 【免费下载链接】excel-mcp-server A Model Context Protocol server for Excel file manipulation 项目地址: https://gitcode.com/gh_mirrors/ex/excel-mcp-server Excel MCP Server 是一个基于模…...

别再只问ChatGPT答案了!试试这个Prompt技巧,让大模型把解题思路‘说’给你听

解锁大模型思维密码&#xff1a;用Prompt技巧让AI展示完整推理路径 当你向ChatGPT抛出一个复杂问题时&#xff0c;是否曾对那个突然出现的最终答案感到困惑&#xff1f;就像看到魔术师从空帽子中变出兔子&#xff0c;却不知道机关在哪里。现代大型语言模型确实能给出惊人准确的…...

不懂PMP的项目经理,正在被AI和敏捷时代淘汰

一、一个正在发生的残酷事实 张伟是一家传统制造企业的项目经理&#xff0c;拥有十年工作经验。他的日常工作是这样的&#xff1a;每天早上整理Excel进度表&#xff0c;中午开会协调资源&#xff0c;晚上更新甘特图&#xff0c;睡前发送项目周报。他觉得自己很忙、很重要。 直到…...