mybatis-plus参数错误?

org.springframework.dao.DataIntegrityViolationException: 
### Error querying database.  Cause: org.postgresql.util.PSQLException: 未设定参数值 3 的内容。
### The error may exist in file [D:\code\cloudservice-backend-java\telehealth-server\target\classes\mapper\modules\diagnosisReqs\DiagnosisReqsMapper.xml]
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: SELECT COUNT(*) FROM (select d.* from "DiagnosisReqs" d                             LEFT JOIN "Studies" s on d.study_id=s.internal_id                             LEFT JOIN "Teams" t on d.to_team_id=t."id"          WHERE  d.from_hospital_id = ?                                                                                              and consultation_parts::jsonb @? ?                        ORDER BY  d.created_time desc) TOTAL
### Cause: org.postgresql.util.PSQLException: 未设定参数值 3 的内容。
; 未设定参数值 3 的内容。; nested exception is org.postgresql.util.PSQLException: 未设定参数值 3 的内容。

只设置了两个参数 但是显示三个 具体如下

 <if test="reqVO.consultation_parts_sql != null and reqVO.consultation_parts_sql != ''">
                and consultation_parts::jsonb @? #{reqVO.consultation_parts_sql}
            </if>
SELECT *
FROM "public"."DiagnosisReqs"
WHERE consultation_parts::jsonb @? '$[*] ? (@.part_name like_regex ".*颅脑.*" flag "i")';

语句中用到了jsonpath 如何避免 MyBatis 将 JSONPath 中的 ? 误认为占位符

阅读 690
1 个回答

实际上换了思路 也不算完全解决 使用 part->>'part_name' LIKE '%颅脑平扫%';避开了jsonpath语法中的?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题