zoukankan      html  css  js  c++  java
  • Mybatis中的@param注解的用法

     

    用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 

    下午在写转账操作时,dao接口中的方法

    @Update(update account set money = money - #{money}  where id = #{id})

    void  updateAccount(int id,double money);

    在刚开始总是出现500的错误,也就是服务器端错误,错误为:Parameter 'money' not found. Available parameters are [arg1, arg0, param1, param2]

    而将void  updateAccount(int id,double money);改为 void  updateAccount(@param( " id ")int id,@param( " money ")double money);进行配置时就可完美运行

    2.格式是 字段名+属性名,例如@param( " id ")是数据库中的字段名,id是类中的属性名,我这里只是命名重复了,

        这段代码的作用就是实现数据库字段名和实体类属性的一一映射,不然数据库不知道如何匹配

     id

    3.update account set money = money - #{money}  where id = #{id} 表示sql语句要接受2个参数,一个参数名是money,一个参数名是id,如果要正确的传入参数,那么就要给参数命名,因为不用xml配置文件,那么我们就要用别的方式来给参数命名,这个方式就是@Param注解

    4.在方法参数的前面写上@Param("参数名"),表示给参数命名,名称就是括号中的内容

    public Student select(@Param("aaaa") String name,@Param("bbbb")int class_id); 
    给入参 String name 命名为aaaa,然后sql语句....where  s_name= #{aaaa} 中就可以根据aaaa得到参数值了

  • 相关阅读:
    Cannot read property 'createElement' of undefined
    Another git process seems to be running in this repository
    React第一次渲染为何容易出现TypeError: Cannot read property 'XX' of undefined
    哟,来看看JS里面变量声明方式
    工欲善其事,必先利其器(一)
    ==与===
    day day up
    代码不规范,同事皮锤现(下)
    代码不规范,同事皮锤现(中)
    医学影像调窗技术
  • 原文地址:https://www.cnblogs.com/zxgCoding/p/12036955.html
Copyright © 2011-2022 走看看