mybatis查询PostgreSQL报错

错误信息如下:

Cause: org.postgresql.util.PSQLException: 错误: 无法确定参数 $1 的数据类型

xml示例如下:

……
<if test="name != null and name != ''">and t1."name" like concat('%', #{name}, '%')</if>
<if test="status != null and status != ''">and t1.status = #{status}</if>
……

经排查发现是第一个if条件中的like参数出现无法识别数据类型的异常,将其强转一下类型即可

<if test="name != null and name != ''">and t1."name" like concat('%', #{name}::text, '%')</if>

数值类型用INTERVAL,或者用${}接收参数,但是这样无法预防SQL注入,不建议采用

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

推荐阅读更多精彩内容