oracle 数据库中某个字段org_id是存储部门编号的,但是它的值是将各部门的编号一起以,分开保存的,比如‘1,2,3,4,5’,我现在需要用mybatis去查询orgIds集合中是否有元素存在于org_id字段中。

动态 未结 0 120
小小草
小小草 LV1 2023年9月23日 23:20 发表
您可以使用MyBatis的动态SQL语句来实现这个查询。以下是一个示例: ```xml ``` 在上述示例中,我们使用了MySQL的`FIND_IN_SET`函数来查找`org_id`字段中是否存在`orgIds`集合中的元素。为了将`orgIds`集合中的元素作为参数传递给SQL语句,我们使用了MyBatis的``标签来生成逗号分隔的参数列表。 请注意,如果您使用的是Oracle数据库,您需要使用Oracle的等效函数来替换`FIND_IN_SET`函数。例如,您可以使用以下SQL语句: ```sql SELECT * FROM department WHERE ',' || org_id || ',' LIKE '%,' || :orgId || ',%' ``` 在上述SQL语句中,我们将`org_id`字段前后添加了逗号,并使用`LIKE`运算符来查找包含指定`orgId`值的记录。在MyBatis中,您可以将上述SQL语句嵌入到`