@Param注解的作用

简介: Param注解的作用1.便于传递多个参数(1)Mapper层

@Param注解的作用



Param注解的作用


1.便于传递多个参数


(1)Mapper层


Integer updatePasswordByUid( //根据uid更新用户密码
            @Param("uid") Integer uid,
            @Param("password") String password,
            @Param("modifiedUser") String modifiedUser,
            @Param("modifiedTime") Date modifiedTime);


(2)对应的mapper.xml


<update id="updatePasswordByUid">
        update t_user
        set password=#{password},
            modified_user=#{modifiedUser},
            modified_time=#{modifiedTime}
        where uid = #{uid}
    </update>


注意:如果不使用@Param注解时,参数则只能有一个;如果还想引用多个参数,参数可以设置为JavaBean


public List<Role> findRoleByMix(@Param("roleP") RoleParam role, @Param("permissionP") PermissionParam permission);


<select id="findRoleByMix" resultType="role">
    SELECT id,name FROM t_role
    WHERE roleName=#{roleP.roleName}
    AND note=#{rolep.note}
    AND level=#{permissionP.level}
<select>


2.起别名的功能


(1)数据库中字段为:user_name、user_password;

(2)pojo类中字段为:name、password;

(3)传参时别名字段为:userName,userPassword


Integer updatePasswordByUsername( 
            @Param("password") String userPassword,
            @Param("name") String userName);


 <update id="updatePasswordByUsername">
        update t_user
        set user_password=#{password}
        where user_name = #{userName}
    </update>


补充:@Param和@RequestParam是什么关系呢?


①@Param是地处Dao层,是为了传递多个参数,解决的是可读性和直观性


②而@RequestParam是位列Controller层,作用是为获取前端参数,解决的是前后端参数不一致的问题

目录
相关文章
|
移动开发 JavaScript 前端开发
Vue系列教程(05)- 基础知识快速补充(html、css、js)
Vue系列教程(05)- 基础知识快速补充(html、css、js)
433 0
|
SQL 安全 Java
resultMap 与 resultType、parameterMap 与 parameterType的区别
resultMap 与 resultType、parameterMap 与 parameterType的区别
490 0
|
SQL XML SpringCloudAlibaba
Java独有特性:注解(annotation)
注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。它本身并不起任何作用,可以说有它没它都不影响程序的正常运行,注解的作用在于**「注解的处理程序」**,注解处理程序通过捕获
600 0
|
6月前
|
负载均衡 Java Spring
Feign 和 OpenFeign 有什么区别?
Feign是Netflix开发的声明式HTTP客户端,简化Web服务调用。OpenFeign是Spring Cloud对其的扩展,集成负载均衡、服务发现等组件,提供自动配置,更适用于Spring生态。
569 1
|
7月前
|
JSON 前端开发 Java
Spring MVC 常见注解详解:让 HTTP 请求精准命中你的方法
本文详解Spring MVC核心注解,从@RequestMapping到@GetMapping等快捷方式,结合@PathVariable、@RequestBody等常用配套注解,助你掌握声明式路由开发,提升效率,实现RESTful风格接口设计。
|
Java 数据库连接 mybatis
|
Oracle 关系型数据库 Windows
如何彻底卸载 IDEA,将IDEA完全删除
本文提供了一个详细的教程,指导用户如何彻底卸载 IntelliJ IDEA,包括使用Uninstall.exe程序和通过注册表删除残留项的步骤。
12281 3
如何彻底卸载 IDEA,将IDEA完全删除
|
开发工具 git
如果使用git产生了冲突,你是怎么解决的?
在团队开发中,若多人同时修改同一代码位置,拉取时可能会产生冲突。解决冲突需及时与同事沟通确认问题,并使用IDEA等工具进行版本对比,选择合适代码保留。解决步骤包括:查看冲突文件、删除多余代码及标记、使用git add标记冲突已解决、最后git commit提交修改,必要时git push推送更改。
576 6
Echarts中横坐标文字显示不全
本文讨论了在ECharts中横坐标文字显示不全的问题,并通过设置`xAxis`的`axisLabel.interval`属性为`0`来解决。这样设置后,横坐标上的所有标签都会显示,而不会根据自动计算的间隔来显示部分标签。文章提供了问题的具体示例图片和解决方法,并附有官方文档链接。
1753 4
Echarts中横坐标文字显示不全
|
SQL Oracle 关系型数据库
南大通用GBase 8s 数据库封锁与并发事务调度介绍
南大通用GBase 8s 数据库封锁与并发事务调度介绍

热门文章

最新文章