`
hwy1782
  • 浏览: 150469 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ibatis一个错误的排查

 
阅读更多

一段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.

 

使劲看了一下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操作么? 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics