1. 程式人生 > 實用技巧 >java.lang.reflect.InvocationTargetException: null(已解決)

java.lang.reflect.InvocationTargetException: null(已解決)

如下圖,錯誤一大堆,一臉懵逼,找了半天

首先sql執行在SQLyog端查詢沒有任何問題,但在專案中mybatisPlus報錯了。

主要還是mybatisPlus沒有SQLyog那麼智慧,錯誤sql:

SELECT or.entity_id,or.orders_no,
           u.realname apply_realname,
           ord.total_count,
           ord.receive_count,or.apply_time,or.notice_time,
           or.finish_time,or.status,
           s.name stockroomName,
           (
SELECT GROUP_CONCAT(depart_name) FROM sys_depart d, sys_user_depart ud WHERE u.entity_id=ud.user_id AND ud.dep_id=d.entity_id) depart_name, (SELECT u.realname FROM sys_depart sd,sys_user_depart sud WHERE sud.user_id=u.entity_id AND sd.entity_id=
sud.dep_id AND sd.valid_flag = '1' AND sud.valid_flag = '1' AND u.depart_ids LIKE CONCAT('%',sd.entity_id,'%')) depart_admin_name FROM tm_orders_receipt `or`, sys_user u, tm_orders_receipt_detail ord, tm_stockroom s WHERE or.receipt_uid=u.entity_id
AND ord.orders_id=or.entity_id AND s.entity_id = or.stockroom_id AND u.valid_flag='1'

我們在給表重新命名上,我一般取首字母縮寫,但如果縮寫是關鍵字,如“or”,此時我們就需要加特殊符號處理`or`。

如果在SQLyog上面,查詢此表字段,可以直接or.xxx,但是實際專案中需要加上特殊字元處理`or`.xxx。否則就會出現以上報錯。