Mybatis联合查询记录,左连接参数操作
2024-08-21 13:44:41
公司业务需求要做个列表的排序
而实际排序的字段不再本库中,需要跨库去拿到字段,因为是微服务体系架构,不可能Left join跨库的表,所以决定调用一次跨服务的API拿到排序相关的对象,里面包含需要排序的列
一块拿到sql中进行排序(因为order by比较方便。。。。)
然后开始出现了bug,我把跨服务拿到的对象存成List集合,需要在sql中左连接才能使用里面的字段,但是直接这样写就会出现bug:
ScheduleDictionary
left join
(select O.Id AS OrgId,O.`Code`,O.`Name` from #{param.orgModels} O)
AS Org on ScheduleDictionary.OrganizationId=Org.OrgId
bug的日志打印大约是这样:
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'??\0♣sr\0‼java.util.ArrayListx??↔??a?♥\0☺I\0♦sizexp\0\0\0☻w♦\0\0\0t\0
google了一下,只有一个问题是跟这个相关的,所以决定记录一下把,
问了下领导,这样直接left join一个list集合是不行的,需要拆开: 拆开的办法是使用union join 例如:select 1 as id,tt as name union join select 2 as id ,dd as name .....最后拼成一张表,
而我传过去的是个List肯定要用foreach循环
就这样就可以把它当作一张表去与主表连接了,
同样也可以拿到 主键或者code去下面进行排序操作了,
最新文章
- 使用antd UI组件有感
- JMS总结
- [转]pycharm的一些快捷键
- Web上的支持的图片格式以及它们之间的区别
- scala vs java 相同点和差异
- python流程控制语句 ifelse - 3
- HADOOP2.2.0安装配置指南
- about oracle
- LoadRunner性能测试专项班隆重开班
- mongodb一些使用技巧或注意事项记录
- MySQL之Innodb恢复的学习笔记
- 使用vue-cli搭建项目
- 1131 Subway Map DFS解法 BFS回溯!
- 解说css中的margin属性缩写方式
- Maven传递依赖的坑:父pom中dependencyManagement版本优先级高于传递依赖版本
- Pandas DataFrame 数据选取和过滤
- ==、is
- 洛谷P3369 【模板】普通平衡树(Splay)
- 【Type】类型 ParameterizedType
- Eventually Consistent(最终一致性)(转)