AI智能
改变未来

异常信息:Parameter \’1\’ not found. Available parameters are [arg1, arg0, param1, param2]


在学习mybatis阶段遇到以下错误

org.apache.ibatis.exceptions.PersistenceException:Error querying database. Cause: org.apache.ibatis.binding.BindingException: Parameter \'1\' not found. Available parameters are [arg1, arg0, param1, param2]Cause: org.apache.ibatis.binding.BindingException: Parameter \'1\' not found. Available parameters are [arg1, arg0, param1, param2]

//测试接口

public interface IStudentDao {List<Student> selectStudentByCondition(String name, int age);}

//测试类

public class myTest {private IStudentDao dao;private SqlSession sqlSession;@Beforepublic void before() {sqlSession = MyBatisUtils.getSqlSession();//这里调用的是自己封装的mybatis工具类dao = sqlSession.getMapper(IStudentDao.class);}@Afterpublic void after() {if(sqlSession != null) {sqlSession.close();}}@Testpublic void test() {List<Student> students = dao.selectStudentByCondition(\"王\",18);for (Student student : students) {System.out.println(student);}}}

//配置文件mapper.xml

<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE mapperPUBLIC \"-//mybatis.org//DTD Mapper 3.0//EN\"\"http://mybatis.org/dtd/mybatis-3-mapper.dtd\"><mapper namespace=\"com.wuji.dao.IStudentDao\"><select id=\"selectStudentByCondition\" resultType=\"Student\">select id,name,age,scorefrom studentwhere name like \'%\' #{0} \'%\'and age > #{1}</select></mapper>

解决方法,修改配置文件mapper.xml中的sql语句中的参数

<select id=\"selectStudentByCondition\" resultType=\"Student\">select id,name,age,scorefrom studentwhere name like \'%\' #{arg0} \'%\'and age > #{arg1}</select>
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 异常信息:Parameter \’1\’ not found. Available parameters are [arg1, arg0, param1, param2]