java - 如果在参数中使用字符串列表(每个字符串项中有调用函数),如何编写 XML MyBatis 查询?
问题描述
我正在使用 MariaDB 10.x、MyBatis、Spring Boot 2.x、Java 8。我需要写查询。
我有 2 个功能:
function UuidFromBin
RETURN LCASE(CONCAT_WS('-',
HEX(SUBSTR(_bin, 5, 4)),
HEX(SUBSTR(_bin, 3, 2)),
HEX(SUBSTR(_bin, 1, 2)),
HEX(SUBSTR(_bin, 9, 2)),
HEX(SUBSTR(_bin, 11))
)
function uuidToBin
RETURN UNHEX(CONCAT(
SUBSTR(_uuid, 15, 4),
SUBSTR(_uuid, 10, 4),
SUBSTR(_uuid, 1, 8),
SUBSTR(_uuid, 20, 4),
SUBSTR(_uuid, 25)
)
字段的数据类型po.id
并且po.shop_id
是二进制的。
List<String> list1 = Arrays.asList("8766103-c1e7-4189-940b-3aeeeef041db", "00000000-0000-3100--0000-00000000");
List<String> list2 = Arrays.asList("00000000-0000-3100--0000-00000000" , "00000000-0000-3100--0000-00000002");
SELECT DISTINCT
UuidFromBin(po.shop_id) AS shop_id,
po.name
po.state
FROM product_offering po
WHERE po.id IN (UuidToBin('8766103-c1e7-4189-940b-3aeeeef041db'), UuidToBin('00000000-0000-3100--0000-00000000')) -- list1
AND po.shop_id IN (UuidToBin('00000000-0000-3100--0000-00000000'), UuidToBin('00000000-0000-3100--0000-00000002')) -- list2
如果在参数中使用字符串列表,如何编写 XML MyBatis 查询?
附加信息:我看到https://stackoverflow.com/a/44022017/3728901,我很难调用UuidToBin
每个字符串列表的项目。
解决方案
推荐阅读
- reactjs - reactjs登录成功后如何打开主页?
- php - PHP 查找和替换,将任意数字减半(例如 col-xs-24 到 col-xs-12)
- python - 使用标准输出在同一行打印列表
- php - PHP中crc32b的输出不等于Python
- docker - .NET Core Docker Image 似乎没有安装 node.js
- android - 我的布局拒绝为设备的全宽
- cytoscape.js - 我可以在 cytoscape dagre 布局中添加“装饰”边缘吗?
- cassandra - “冗余”聚类列有什么缺点吗?
- oracle - 使用 SQL 查询 Windchill 的数据库
- javascript - 在 ASP.NET Core 中将画布另存为图像