MyBatis3错误:Parameter 'id' not found. Available parameters are [arg2, arg1, arg0, param3, param1, par
2017-11-22 11:27
691 查看
这个问题涉及到MyBatis3在使用select节点查询时传递多个参数的问题。问题分析如下:
1、如果是单个查询一般是这样配置:
2、如果使用了多个参数之后,我们一般是这样配置:
而以上写法有两个错误的地方,第一个是parameterType是要去掉的,虽然这里的参数全部都是int类型,如果涉及多个类型那就必须去掉;第二个是#{id}…及后面的参数写法也是错误的,因为在MyBatis3中不会识别这样的参数,所以应该改成#{arg0},{arg1}这样的形式。
所以,修改后的配置如下:
通过以上修改完后,错误解决。
3、当然,这个涉及到了MyBatis3的多参数查询方法,还有很多解决方法,比如使用HashMap类型、对参数进行@Param注解、使用对象传输等的参数进行装载,详细参考:http://www.cnblogs.com/mingyue1818/p/3714162.html
这个世界上没有知识是学不会的,不是吗?如果一开始学不会,就可以把问题细化分解,然后学习更基本的知识。最后,所有问题都能变得和1+1=2一样简单,我们需要的只是时间。好了,最后给大家推荐一个学习Java的好网站JAVA自学网站–how2j.cn
1、如果是单个查询一般是这样配置:
<select id="getUserArticles" parameterType="int" resultMap="resultUserArticleList"> select user.id,user.userName,user.userAddress,article.id as aid,article.title,article.content from user,article where user.id=article.userid and user.id=#{id} </select>
public List<Article> getUserArticles(int id);
2、如果使用了多个参数之后,我们一般是这样配置:
<select id="getUserArticlesByLimit" parameterType="int" resultMap="resultUserArticleList"> select user.id,user.userName,user.userAddress,article.id as aid,article.title,article.content from user,article where user.id=article.userid and user.id=#{id} limit #{start},#{limit} </select>
public List<Article> getUserArticlesByLimit(int id,int start,int limit);
而以上写法有两个错误的地方,第一个是parameterType是要去掉的,虽然这里的参数全部都是int类型,如果涉及多个类型那就必须去掉;第二个是#{id}…及后面的参数写法也是错误的,因为在MyBatis3中不会识别这样的参数,所以应该改成#{arg0},{arg1}这样的形式。
所以,修改后的配置如下:
<select id="getUserArticlesByLimit" resultMap="resultUserArticleList"> select user.id,user.userName,user.userAddress,article.id as aid,article.title,article.content from user,article where user.id=article.userid and user.id=#{arg0} limit #{arg1},#{arg2} </select>
通过以上修改完后,错误解决。
3、当然,这个涉及到了MyBatis3的多参数查询方法,还有很多解决方法,比如使用HashMap类型、对参数进行@Param注解、使用对象传输等的参数进行装载,详细参考:http://www.cnblogs.com/mingyue1818/p/3714162.html
这个世界上没有知识是学不会的,不是吗?如果一开始学不会,就可以把问题细化分解,然后学习更基本的知识。最后,所有问题都能变得和1+1=2一样简单,我们需要的只是时间。好了,最后给大家推荐一个学习Java的好网站JAVA自学网站–how2j.cn
相关文章推荐
- Mybatis:Parameter '***' not found. Available parameters are [arg1, arg0, param1, param2]
- (三)MyBatis学习之多个报错Parameter 'xxxx' not found. Available parameters are [arg1, arg0, param1, param2]
- 为什么id' not found. Available parameters are [arg1, arg0, param1, param2] at org.mybatis.spring.MyBat
- Mybatis SQL 报错:Parameter 'position' not found. Available parameters are [arg2, arg1, arg0。。。
- Parameter '0' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]
- MyBatis报错 Parameter '0' not found. Available parameters are [arg1, arg0, param1, param2]
- MyBatis3错误:Parameter 'id' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]或者Parameter '0' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]
- Parameter '0' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]
- MyBatis报错 Parameter '0' not found. Available parameters are [arg1, arg0, param1, param2]
- Parameter 'offset' not found. Available parameters are [arg1, arg0, param1, param2]
- Parameter 'loginname' not found. Available parameters are [arg1, arg0, param
- MyBatis报错: Parameter '*' not found. Available parameters are [1, 0, param1, param2]
- mybatis错误: Parameter 'XXX' not found. Available parameters are [0, 1,2, param5, param2]
- Parameter 'id' not found. Available parameters are [0, 1, param1, param2]
- Mybatis:Parameter 'list' not found. Available parameters are [termIds, eventIds, param1, param2]
- Mybatis错误:Parameter 'XXX' not found. Available parameters are [1, 0, param1, param2]
- Mybatis错误:Parameter 'XXX' not found. Available parameters are [1, 0, param1, param2]
- Mybatis错误:Parameter 'XXX' not found. Available parameters are [1, 0, param1, param2]
- mybatis:Parameter 'list' not found. Available parameters are [templateId, param1, param2, valueList]
- Mybatis错误:Parameter 'XXX' not found. Available parameters are [1, 0, param1, param2]