Parameter ‘username‘ not found. Available parameters are [arg1, arg0, param1, param2] 绑定参数异常

出现绑定异常 绑定参数username找不到,这是一个知识点的补漏,这篇文章相信对你肯定有所帮助!

org.apache.ibatis.binding.BindingException: Parameter 'username' not found. Available parameters are [arg1, arg0, param1, param2]

在这里插入图片描述
在这里插入图片描述
最后引用一篇文章 https://www.cnblogs.com/zhuhui-site/p/10088369.html
2.不使用@Param注解

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

 // 这里id是user的属性
    @Select("SELECT * from Table where id = ${id}")
    Enchashment selectUserById(User user);```
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,出现了绑定异常,错误信息为"Parameter 'username' not found. Available parameters are [arg1, arg0, param1, param2]"。这个错误通常发生在使用MyBatis进行数据库操作时,表示在SQL语句中找不到参数'username',而只能找到[arg1, arg0, param1, param2]这些可用参数。 解决这个问题的方法是检查代码中的SQL语句和参数绑定是否正确。确保在SQL语句中正确地引用了'username'参数,并且在代码中正确地传递了该参数。 以下是一个示例代码,演示了如何使用MyBatis进行数据库操作并解决参数绑定异常的问题: ```java // 定义一个接口,用于映射SQL语句 public interface UserMapper { // 定义一个方法,用于查询用户信息 User getUserByUsername(@Param("username") String username); } // 在XML配置文件中编写SQL语句 <select id="getUserByUsername" resultType="User"> SELECT * FROM users WHERE username = #{username} </select> // 在代码中使用MyBatis进行数据库操作 public class UserDao { private SqlSessionFactory sqlSessionFactory; public UserDao() { // 初始化SqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } public User getUserByUsername(String username) { try (SqlSession session = sqlSessionFactory.openSession()) { UserMapper userMapper = session.getMapper(UserMapper.class); return userMapper.getUserByUsername(username); } } } // 在调用代码中传递参数并进行数据库操作 UserDao userDao = new UserDao(); User user = userDao.getUserByUsername("john"); ``` 通过检查SQL语句和参数绑定,确保参数'username'正确传递,就可以解决参数绑定异常的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值