mybatis 查询条件不是类属性时需要注意的

这次遇到个问题,情景很简单,数据库一个时间字段a ,条件查询开始时间,结束时间,这样就造成了字段跟类属性对应不上,我的是beginA ,endA

如果像copy 别的 直接做#{}参数占位

 

 上面这样,执行直接报错  org.apache.ibatis.type.TypeException: Could not set parameters for mapping:

我也没特别学过mybatis ,百度说是要指定 jdbcType ,或者#{}改为${}  模模糊糊的,我试了各种情况也不行

然后偶然看到一篇介绍mybatis 参数的文章,进去详细了解了一下

https://blog.csdn.net/qq_41061437/article/details/83753261

然后看完之后,思考一下顿悟,感觉mybatis 是先将#{} 占住即将写入参数的位置,输出类似 a.bgrq=? 这样的,

然后再按照实体类属性,去替换这些?。然后我感觉我的这种情况不能用#{}这么写,因为我的参数不存在于实体类,

直接去掉相关我不认识的操作,按自己的理解写了一下,然后就解决了。如下图

 

posted @ 2020-04-02 16:59  90的生力军  阅读(250)  评论(0编辑  收藏  举报