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=? 这样的,
然后再按照实体类属性,去替换这些?。然后我感觉我的这种情况不能用#{}这么写,因为我的参数不存在于实体类,
直接去掉相关我不认识的操作,按自己的理解写了一下,然后就解决了。如下图