MyBatis报错 Parameter 'arg0' not found

dao中定义方法:

List<KeyValueEntity> groupByDay(Date startDate, Date endDate);

在早期,参数没做注解时默认是按顺序获取,以0、1等为索引,所以Mapper是这样写的:

    <select id="groupByDay" resultType="io.renren.modules.business.entity.template.KeyValueEntity">
        select DATE_FORMAT(create_time, '%Y/%m/%d') as keyText, count(*) as value
        from question_answer
        where create_time BETWEEN #{0, jdbcType=DATE} AND #{1, jdbcType=DATE}
        group by keyText
        order by keyText
    </select>

后来由0、1改为用arg0、arg1代替:

    <select id="groupByDay" resultType="io.renren.modules.business.entity.template.KeyValueEntity">
        select DATE_FORMAT(create_time, '%Y/%m/%d') as keyText, count(*) as value
        from question_answer
        where create_time BETWEEN #{arg0, jdbcType=DATE} AND #{arg1, jdbcType=DATE}
        group by keyText
        order by keyText
    </select>

而新版的又改成以参数名使用:

    <select id="groupByDay" resultType="io.renren.modules.business.entity.template.KeyValueEntity">
        select DATE_FORMAT(create_time, '%Y/%m/%d') as keyText, count(*) as value
        from question_answer
        where create_time BETWEEN #{startDate, jdbcType=DATE} AND #{endDate, jdbcType=DATE}
        group by keyText
        order by keyText
    </select>

对于当前库的强制更新,可以使用命令:

mvn clean install -U

对于下面打包命令,也是会使用新库:

mvn clean package
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 本篇将完成DAO层的设计与开发,包括: 数据库、DAO实体与接口设计与编码 基于MyBatis实现DAO编程...
    MOVE1925阅读 1,383评论 0 4
  • 1.1mybatis下载 mybaits 的代码由github.com 管理,地址:https://github....
    暖熊熊阅读 882评论 0 5
  • 小时候不知存折为何物,银行好像很神圣,路过银行小心脏总是怦怦跳,多希望能在银行门口捡到钞票。爸妈也好像从不上银行,...
    mimi播报阅读 547评论 2 4
  • 26日晚2个多小时的学习,让第四期大师课学员们收获颇多,也纷纷晒出了自己的感悟!
    九一同桌教育阅读 628评论 0 0
  • 蕨类植物,又称羊齿植物,是地球上存在时间悠久的一类植物,他们地球生命的见证者,也是恐龙的食物,又是有着几百万...
    绿汀阅读 1,000评论 1 7