### Cause: java.lang.RuntimeException: Sql 解析出错. sql=select count(0) from (select
id, partner_id, bu_id, warehouse_id, stop_payment_dimension, stop_apply_no, settlement_object_code,
settlement_object_name, contract_code, stop_payment_type, approval_status, effective_time,
batch_apply, submitter_account, submitter_name, stop_payment_reason, approval_process_id,
approval_task_def_key, approval_todo_task_id, init_task_def_key, zbbpcg_approver_account,
approver_account, approver_name, approver_remark, stop_payment_apply_source, istatus,
create_time, create_by, last_modify_time, last_modify_by
from stop_payment_apply
WHERE ( ( istatus = ?
and approval_status = ?
and approval_task_def_key in
(
?
)
and (approval_task_def_key <> "zbbpcg" or (approval_task_def_key = "zbbpcg" and (zbbpcg_approver_account = "" or zbbpcg_approver_account like"%2198504%")))
and partner_id = ? ) )
order by id desc) tmp_count
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) ~[mybatis-3.4.5.jar!/:3.4.5]
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150) ~[mybatis-3.4.5.jar!/:3.4.5]
at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141) ~[mybatis-3.4.5.jar!/:3.4.5]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_45]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_45]
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433) ~[mybatis-spring-1.3.2.jar!/:1.3.2]
... 115 more
本地单测能运行通过,但是一部署,就会出错
原因:对双引号解析出错
addCriterion("(approval_task_def_key <> \"zbbpcg\" or (approval_task_def_key = \"zbbpcg\" and (zbbpcg_approver_account = \"\" or zbbpcg_approver_account like\""
+ value + "\")))");
改成
addCriterion("(approval_task_def_key <> 'zbbpcg' or (approval_task_def_key = 'zbbpcg' and (zbbpcg_approver_account = '' or zbbpcg_approver_account like '"
+ value + "' )))");