一段ibatis查询语句如下:
<select id="getDownloadApkURL" parameterClass="domain.BaseQueryDO" resultClass="java.lang.String"> SELECT update_url FROM idle_apk_info WHERE state >= 0 <isGreaterThan prepend="AND" property="apkId" compareValue="0"> id = #apkId# </isGreaterThan> <isNotNull prepend="AND" property="apkVersionName"> apk_version_name = #apkVersionName# </isNotNull> <isGreaterThan prepend="AND" property="apkVersionCode" compareProperty="0"> apk_version_code = #apkVersionCode# </isGreaterThan> </select>
其中BaseQueryDO的定义如下:
public @Data class BaseQueryDO extends QueryBase{ private static final int PAGE_SIZE = 5; private int state; private int id; private int apkId; private String apkName; private String apkVersionName; private double apkVersionCode; @Override protected Integer getDefaultPageSize() { return PAGE_SIZE; } }
执行期间报错:
Cause: com.ibatis.common.beans.ProbeException: There is no READABLE property named '0' in class 'domain.BaseQueryDO'; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in sqlmap/ApkInfo.xml.
--- The error occurred while preparing the mapped statement for execution.
--- Check the apk_version.getDownloadApkURL.
--- Check the parameter map.
--- The error occurred in sqlmap/ApkInfo.xml.
--- The error occurred while preparing the mapped statement for execution.
--- Check the apk_version.getDownloadApkURL.
--- Check the parameter map.
使劲看了一下ibatis映射文件都没有发现错误。
没办法单条注释ibatis映射语句,发现打开
<isGreaterThan prepend="AND" property="apkVersionCode" compareProperty="0"> apk_version_code = #apkVersionCode# </isGreaterThan>
就会报错。
估计是isGreaterThan这个函数对double型不起作用,但是在网上找了一番,没找到相关资料。
不得已,将
private double apkVersionCode;
修改成:
private Double apkVersionCode;
然后采用
<isNotNull prepend="AND" property="apkVersionCode" > apk_version_code = #apkVersionCode# </isNotNull >
来解决问题
ps:哪位能告诉我为毛double不能执行isGreaterThan操作么?
相关推荐
ibatis的错误总结
ibatis 一个简单的项目详解及配置,方便初学者更快地了解ibatis
ibatis学习 ibatis总结 ibatis ibatis ibatis
iBatis学习,新手进,iBatis简单易上手。希望对广大学习者有所帮助。
Ibatis一对一映射提示,需要学习的同学请关注,谢谢。
ibatis ,入门例子
ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料ibatis资料
我们也说过,iBATIS是一个混合式的解决方案(hybrid solution),借鉴了多种操作关系数据库的方法的理念。那么iBATIS到底是什么呢?这一章就来回答这个问题。 iBATIS是一种data mapper。Martin Fowler在他的...
ibatis 一对多关系映射 ibatis 一对多关系映射ibatis 一对多关系映射
iBatis是一个O/R Mapping解决方案, iBatis最大的特点就是小巧,上手很快。如果你不需要太多复杂的功能,iBatis是能满足你的要求又足够灵活的最简单的解决方案。下面我们看一个最简单的入门例子,是《ibatis 开发...
其中包含iBatis精讲PDF iBatis实例 iBatis开发指南 iBatis分页 spring+iBatis处理1对多数据表实例等等若干帮助文档。希望可以帮助大家学习iBatis...
利用ibatis实现一对一、多对一的示例代码。每种关系用两种方式实现,具体的讲解可看我的博客http://blog.csdn.net/duwenchao1986/article/details/8565386
ibatis demo,ibatis例子,ibatis示例
可以针对一个表中一个或几个字段进行更新等操作。Hibernate会更新所有的字段。 (3) ibatis可维护性高一点。 2.Ibatis需要的jar包 (1) ibatis-2.3.4.726.jar (3) 数据库的连接包 3.Ibatis的使用 (1) 建数据库表和...
iBATIS 级联iBATIS 级联iBATIS 级联
一个ibatis的demo含数据库哦,通过用户登录测试。
ibatis16个常用sql语句
ibatis的原码 ibatis源码 ibatis源码 ibatis源码
ibatis
自己写了一个Ibatis入门文件 JDK用的1.4 ibatis用的2.3.0 一定要注意版本问题,不然出现本本不兼容很费劲,我调了一上午,注意一定要用JDK1.4 ibatis2.3.0! 数据库自己建一张简单的表就行了,特别说明 只适合新手...