@param注解的用法解析_getmapping注解用法

@param注解的用法解析_getmapping注解用法1、概述首先明确这个注解是为SQL语句中参数赋值而服务的。@Param的作用就是给参数命名,比如在mapper里面某方法A(intid),当添加注解后A(@Param(“userId”)intid),也就是说外部想要取出传入的id值,只需要取它的参数名userId就可以了。将参数值传如SQL语句中,通过#{userId}进行取值给SQL的参数赋值。2、实例:实例一:@Param注解基本类型的参数mapper中的方法:publicUse…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1、概述

      首先明确这个注解是为SQL语句中参数赋值而服务的。

      @Param的作用就是给参数命名,比如在mapper里面某方法A(int id),当添加注解后A(@Param(“userId”) int id),也就是说外部想要取出传入的id值,只需要取它的参数名userId就可以了。将参数值传如SQL语句中,通过#{userId}进行取值给SQL的参数赋值。

2、实例:

    实例一:@Param注解基本类型的参数

    mapper中的方法:

public User selectUser(@Param("userName") String name,@Param("password") String pwd);

Jetbrains全家桶1年46,售后保障稳定

  映射到xml中的<select>标签

<select id="selectUser" resultMap="User">  
   select * from user  where user_name = #{userName} and user_password=#{password}  
</select>

     其中where user_name = #{userName} and user_password = #{password}中的userName和password都是从注解@Param()里面取出来的,取出来的值就是方法中形式参数 String name 和 String pwd的值。

    实例二:@Param注解JavaBean对象

   SQL语句通过@Param注解中的别名把对象中的属性取出来然后复制

    mapper中的方法: 

public List<User> getAllUser(@Param("user") User u);

    映射到xml中的<select>标签

<select id="getAllUser" parameterType="com.vo.User" resultMap="userMapper">  
        select   
        from user t where 1=1  
             and   t.user_name = #{user.userName}  
              and   t.user_age = #{user.userAge}  
    </select>  

3、注意点

   当使用了@Param注解来声明参数的时候,SQL语句取值使用#{},${}取值都可以。

   当不使用@Param注解声明参数的时候,必须使用的是#{}来取参数。使用${}方式取值会报错。

   不使用@Param注解时,参数只能有一个,并且是Javabean。在SQL语句里可以引用JavaBean的属性,而且只能引用JavaBean的属性。
 

    @Select("SELECT * from Table where id = #{id}")
    Enchashment selectUserById(User user);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/198381.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一周自学动态站点设计

    一周自学动态站点设计

    2021年12月16日
    40
  • 黄页网址大全推荐_常用的网站

    黄页网址大全推荐_常用的网站可以试试这个,https://tongcheng360.com页面干净整洁,页面使用缓存技术,打开速度非常快,包括公司简介,发布公司产品,发布公司新闻,公司如有特殊需求,可进行定制化开发,大大节省了公司的运维和开发成本并且具有同城分类信息的功能b站操作视频https://www.bilibili.com/video/BV1jy4y1L7Z1…

    2022年5月3日
    260
  • 架设ftp服务器从入门到精通[通俗易懂]

    架设ftp服务器从入门到精通[通俗易懂]1.FTP是什么FTP的全称是FileTransferProtocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。FTP服务器则是在互联网上提供存储空间的计算机,它们依照FTP协议提供服务。当它们运行时,用户就可以连接到服务器上下载文件,也可以将自己的文件上传到FTP服务器中。有时把FTP服务器简称为FTP。FTP服务器的存在,大大方便了网友之间远程交换文件资料的需要,充分体现了互联网资源共享的精神。现在许多朋友都已经用上了宽带网,而且硬盘也有足够的空间,完全可以通过软件手段把自己的

    2022年7月21日
    22
  • js的链表排序_排序js

    js的链表排序_排序jsjs链表的排序链表数据交换的心得假如通过两个地址进行交换节点内容时,也应当将我们的next来进行交换赋值,或者可以不改动我们的next,通过定义数据的中间量来将我们的数据进行改变通过while循环找到我们想要交换的节点sersort(){letp=this.head;letpp=p;…

    2022年10月11日
    3
  • IplImage中的widthStep大小计算及原理[通俗易懂]

    IplImage中的widthStep大小计算及原理[通俗易懂]一直以为IplImage结构体中的widthStep元素大小等于width*nChannels,大错特错!查看OpenCV2.1的源码,在src/cxcore/cxarray.cpp文件中,找到cvInitImageHeader函数,函数中对widthStep大小赋值如下:image->widthStep=(((image->width*image->nChannels*

    2022年4月30日
    51
  • vue-cli创建的项目中引入第三方库报错 ‘caller’, ‘calle’, and ‘arguments’ properties may not be……

    vue-cli创建的项目中引入第三方库报错 ‘caller’, ‘calle’, and ‘arguments’ properties may not be……

    2021年10月11日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号