MyBatis-Plus 中如何實現復雜 SQL 字符串匹配查詢?

MyBatis-Plus 中如何實現復雜 SQL 字符串匹配查詢?

sql 字符串匹配中的復雜匹配問題

Java 開發中,使用 mybatis-plus 處理一個復雜 sql 字符串匹配查詢時遇到了難題。問題場景是匹配一個可選課程的條件字段 condition 與用戶輸入的 cond 字段。其中 condition 為逗號分隔的必修課程列表,而 cond 為逗號分隔的用戶已選課程。任務是編寫一個查詢,只要條件中包含用戶所選的任意一門課程即可匹配。

sql 解決方案

可以使用以下 sql 語句來實現:

select * from college_course where find_in_set('語文', condition) and find_in_set('音樂', condition)

此查詢將查找 condition 中同時包含語文和音樂兩門課程的可選課程。

mybatis-plus 集成

要在 mybatis-plus 中使用此查詢,可以在 querywrapper 中設置條件:

QueryWrapper<CollegeCourse> wrapper = new QueryWrapper<>(); wrapper.eq("condition", "語文,音樂"); List<CollegeCourse> courses = collegeCourseMapper.selectList(wrapper);

此代碼將檢索同時包含語文和音樂課程的可選課程列表。

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享