关于mybatis中基本类型条件判断问题
2016-03-08 10:40
375 查看
今天继续使用mybatis搭建我的网站,在sql这块有个问题
按照上述方式提供服务时会报如下错误:
这是说我的参数中没有get方法?
据说这个是用ognl来判断的 ,这个问题的解决方法在我看来只能用hashmap啦。
其实mybatis里有对这个进行处理
只需要吧接口改成如下形式就ok啦:
在参数中指定一下 param 。 大功告成,单元测试顺利执行。
据说mybatis要在下一个版本中去掉hashmap 大概就是想用这个东西来替代吧
在sql的mapper中如下方式 <select id="countByCate" parameterType="int" resultType="int"> select count(*) from article where <if test="cate!=0"> cate = #{cate} and </if> deletetype=0; </select>
接口方法 :int countByCate(int cate);
按照上述方式提供服务时会报如下错误:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'cate' in 'class java.lang.Integer' at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:365) at $Proxy11.selectOne(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:160) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:95) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:40) at $Proxy12.countByCate(Unknown Source)
这是说我的参数中没有get方法?
据说这个是用ognl来判断的 ,这个问题的解决方法在我看来只能用hashmap啦。
其实mybatis里有对这个进行处理
只需要吧接口改成如下形式就ok啦:
int countByCate(@Param(value = "cate") int cate);
在参数中指定一下 param 。 大功告成,单元测试顺利执行。
据说mybatis要在下一个版本中去掉hashmap 大概就是想用这个东西来替代吧
相关文章推荐
- tomcat的三种部署方式
- UID, EUID, SUID, FSUID
- Thread.join
- 如何在maven-antrun-plugin中使用if条件标签
- 掌握设计模式的方法总结(设计与模式)记
- 掌握设计模式的基础UML(设计与模式)记
- java 事件机制探讨
- 最快实现spring 实例
- DOM、SAX、JDOM、JAXB 对XML 文档的解析
- 反射示例
- java学习线路,至于你信不信,反正我信了
- i9023手机不能上网 ,不能发信的解决方法
- 线程间通信
- 注解
- protractor设置cookie登录
- C#实现DataTable转换成IList的方法
- FAQ11755]92 KK版本出现亮点/横线显示异常问题
- [FAQ10019]HDMI/MHL如何修改手机默认横竖屏显示方式
- iOS海哥开发笔记 (海哥原创,CALayer简介 以及基本使用)
- 【leetcode】第8题:String to Integer(atoi)