Mybatis聯合查詢記錄,左鏈接參數操做

公司業務需求要作個列表的排序java

而實際排序的字段再也不本庫中,須要跨庫去拿到字段,由於是微服務體系架構,不可能Left join跨庫的表,因此決定調用一次跨服務的API拿到排序相關的對象,裏面包含須要排序的列sql

一塊拿到sql中進行排序(由於order by比較方便。。。。)架構

而後開始出現了bug,我把跨服務拿到的對象存成List集合,須要在sql中左鏈接才能使用裏面的字段,可是直接這樣寫就會出現bug:微服務

ScheduleDictionarygoogle

left joinspa

(select O.Id AS OrgId,O.`Code`,O.`Name` from #{param.orgModels} O)日誌

AS Org on ScheduleDictionary.OrganizationId=Org.OrgIdcode

bug的日誌打印大約是這樣:server


google了一下,只有一個問題是跟這個相關的,因此決定記錄一下把,
問了下領導,這樣直接left join一個list集合是不行的,須要拆開:

拆開的辦法是使用union join 例如:select 1 as id,tt as name union join select 2 as id ,dd as name .....最後拼成一張表,
而我傳過去的是個List確定要用foreach循環

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near'_binary'??\0sr\0java.util.ArrayListx??↔??a?♥\0I\0sizexp\0\0\0w\0\0\0t\0

就這樣就能夠把它看成一張表去與主錶鏈接了,對象

一樣也能夠拿到 主鍵或者code去下面進行排序操做了,

相關文章
相關標籤/搜索