mapper.xml中定义的postgre SQL语句运行时报错:org.postgresql.util.PSQLException: ERROR: syntax error at or near “$1“

SELECT * from m_user where resigndt >= now()- INTERVAL #{flag} and resigndt <= now();

是数据转换异常(例如:Integer和String间转换异常) ,

解决方法1.将#改成$,$可转换成数值类型,但是使用$无法防止Sql注入

解决办法2. 将 INTERVAL #{flag} 替换成 #{flag}::INTERVAL
SELECT * from m_user where resigndt >= now()- #{flag}::INTERVAL and resigndt <= now()

Logo

本社区面向用户介绍CSDN开发云部门内部产品使用和产品迭代功能,产品功能迭代和产品建议更透明和便捷

更多推荐