前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MyBatis报错 Parameter 'arg0' not found

MyBatis报错 Parameter 'arg0' not found

作者头像
IT晴天
发布2018-08-20 10:54:41
3K0
发布2018-08-20 10:54:41
举报
文章被收录于专栏:ionic3+ionic3+

dao中定义方法:

代码语言:javascript
复制
List<KeyValueEntity> groupByDay(Date startDate, Date endDate);

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

代码语言:javascript
复制
    <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代替:

代码语言:javascript
复制
    <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>

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

代码语言:javascript
复制
    <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>

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

代码语言:javascript
复制
mvn clean install -U

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

代码语言:javascript
复制
mvn clean package
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.06.04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档