当前位置: 代码迷 >> 综合 >> mybatis 传值出现 Parameter '**' not found. Available parameters are [0, 1, param1, param2]解决办法
  详细解决方案

mybatis 传值出现 Parameter '**' not found. Available parameters are [0, 1, param1, param2]解决办法

热度:54   发布时间:2023-12-26 06:21:11.0

 出现这个问题是sql解析不了传入的参数

       mybatis 传值的几种方式 

        *        如果传的是参数 在interface 接口的方法上要写上 @Param("参数名称")注解
        *        参数名称要和映射的mapper 文件中sql条件名称一样,

User findByUserAndPassword(@Param("username")String username, @Param("password")String password);

  select * from user u where 1=1 and u.username=#{ username} AND u.password=#{ password}


        *        如果不写param注解,那sql语句就要改成#{1}#{2}#{3}。。。参数要写的有顺序


   User findByUserAndPassword(String username,String password);

select * from user u where u.username=#{0} and u.password=#{1}  

        *        如果传入的是封装的类 就不需要写 @Param 注解  mapper文件直接 引用 ${},#{}

       public void addUseer(User u);INSERT INTO user(id,username,password,email,sex) VALUES(#{id},#{username},#{password},#{email},#{sex});

 

  相关解决方案