hibernate 与MYSQL 求两个字符串数组的交集
来源:互联网 发布:手机淘宝模拟器电脑版 编辑:程序博客网 时间:2024/05/21 11:03
在项目中,有一个表的字段存的是ID集,用,号隔开,查询时输入一个id集,也是用,号隔开,这时就需要用到两个字符串的数组的交集,没有现成的,那么只好自定义一个函数,如下:
#创建FUNCTIONDELIMITER $$; CREATE FUNCTION `is_mixed`(str1 TEXT, str2 TEXT) RETURNS TINYINT BEGIN DECLARE ismixed TINYINT DEFAULT 0; set ismixed:=(select concat(str1, ',') regexp concat(replace(str2,',',',|'), ',')); RETURN ismixed; END;$$ DELIMITER ; #执行FUNCTIONselect is_mixed('1001,1002,1003,1004', '1001,2001,3001,4001');
由于MySQL没有布尔类型, 所以选择了tinyint类型的1和0来表示true 和 false。
执行结果:返回结果为1,表示true, 存在交集。
然后在hibernate 中使用也一样,但要加多一个>0作为条件,当有交集时就是大于0,hibernate 的hql语句如下;
select o from WeixinConfig o where 1=1 and is_mixed(?,groupIds)>0
groupIds是表的字段,
从中可看出,在mysql定义的函数可以在hibernate里直接使用
0 0
- hibernate 与MYSQL 求两个字符串数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个数组的交集
- 求两个字符串的交集
- 求两个数组交集
- 如何求两个数组的交集
- iOS 【UIKit-事件产生与传送 练习(重写hitTest和pointInside方法)】
- 基于C++及三维设计平台的开发
- OpenCV获取图像的高和宽(Iplimage)
- 客厅智能化(5、6)
- 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
- hibernate 与MYSQL 求两个字符串数组的交集
- 关灯游戏
- haml入门
- Django自学习7 views.py
- linux input子系统驱动(三)
- Poj 2774 Long Long Message|后缀数组
- 写在15年初
- SpringMvc+mybatis手动开启和提交事务
- 两个数和三个数的最大值和最小值宏定义