@Param

今天写更新接口时发现报错
org.apache.ibatis.binding.BindingException: Parameter ‘name’ not found. Available parameters are [0, 1, param1, param2]

百度后发现要在Dao层做修改加注解如下

  int update(@Param("id") String id, @Param("name") String name);

这样就成功的更新了

03-14
<think>好的,用户想了解在JSDoc或TypeScript中@param的用法或含义。首先,我需要回忆一下JSDoc和TypeScript中参数注释的相关知识。 JSDoc中的@param用于描述函数参数的名称、类型和说明,帮助生成文档和提供代码提示。而TypeScript虽然本身有类型系统,但使用JSDoc注释可以增强类型提示,特别是在混合项目中。 接下来,结合用户提供的引用内容,特别是引用[1]提到安装ESLint插件,引用[4]讨论了注释的重要性,可能需要说明如何正确使用@param以提高代码可读性和工具支持。 用户可能想知道具体的语法和示例,比如参数类型的指定、可选参数、默认值等。还需要注意TypeScript中类型可能已经由类型注解处理,但JSDoc仍可补充说明。 需要确保回答结构清晰,分点说明用法,并给出代码示例。同时,生成相关问题时要覆盖相关主题,如与@return的区别、工具支持、可选参数写法等。</think>### @param在JSDoc/TypeScript中的用法解析 在JavaScript的JSDoc注释或TypeScript中,`@param`是用于描述函数参数的核心标签。它主要实现三个功能: 1. 为参数定义类型约束 2. 生成智能提示文档 3. 配合ESLint等工具进行静态检查[^1] #### 基础语法 ```javascript /** * @param {参数类型} 参数名 - 参数描述 */ ``` #### 典型应用场景 1. **基础类型标注** ```javascript /** * @param {string} username - 用户登录名 * @param {number} age - 用户年龄 */ function createUser(username, age) { ... } ``` 2. **联合类型声明** ```javascript /** * @param {string|number} id - 支持字符串或数字类型的ID */ function getUser(id) { ... } ``` 3. **对象结构标注** ```javascript /** * @param {Object} config - 配置对象 * @param {string} config.url - API地址 * @param {boolean} [config.cache] - 是否启用缓存(可选) */ function request(config) { ... } ``` 4. **数组类型定义** ```javascript /** * @param {Array<number>} coordinates - 坐标数组 */ function drawPath(coordinates) { ... } ``` 5. **TypeScript增强(在.js文件中使用TS类型)** ```javascript /** * @param {import('./types').UserProfile} profile */ function updateProfile(profile) { ... } ``` #### 特殊用法说明 - **可选参数**:使用方括号包裹参数名 ```javascript /** * @param {string} [country] - 可选的国家代码 */ ``` - **默认值标注**: ```javascript /** * @param {number} [retryCount=3] - 重试次数(默认3次) */ ``` - **回调函数参数**: ```javascript /** * @param {function(number): string} formatter - 数值格式化器 */ ``` #### 与TypeScript的配合 在.ts文件中,当同时使用类型注解和JSDoc时,TypeScript会优先采用类型注解。但两者可以互补: ```typescript // 显式类型注解 + JSDoc补充说明 function calculate( /** 基础数值 */ base: number, /** 乘数因子 */ @param {number} factor ) { ... } ``` #### 工具链支持 1. **VS Code智能提示**:正确使用@param可获得参数类型提示 2. **ESLint校验**:通过[typescript-eslint](https://typescript-eslint.io/)插件可检测类型不一致问题 3. **文档生成**:配合[TypeDoc](https://typedoc.org/)等工具可生成API文档
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值