richgood
小红树
采纳率0%
2011-03-03 16:55 阅读 306
已采纳

mybatis传递多种参数问题

1.实体bean:ProductType
2.字段id,name

ProductType.xml 中定义一个查询,如下:





select * from ProductType where 1=1

and name like #{productType.name}

查询:
Map map=new HashMap();
ProductType a=new ProductType();
a.setName("XXXXX");//////////////////////////////注意这里
map.put("productType", a);
map.put("pageSize", 10);
List p= session.selectList("ProductType.getScrollPage", map);

问题:
如果a.setName赋值了,查询没问题

可是如果a没有setName,系统就报错:
Cause: org.apache.ibatis.executor.ExecutorException: There was no TypeHandler found for parameter productType of statement ProductType.getScrollPage

而且如果查询是select * from ProductType ,没有其他任何条件,报同样的错误,只有传name才不报错。搞笑了

这里的人太水了。。。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    linvar linvar 2011-03-09 09:53

    明显就是parameterMap这里的问题,
    这个标记已经是deprecated的了,
    使用parameterType吧
    完全可以使用它替代

    点赞 评论 复制链接分享
  • QSpace tomato你个番茄 2012-08-29 11:51

    这个异常,是由于javaType和jdbcType的类型不匹配造成的

    点赞 评论 复制链接分享

相关推荐