mysql数据库存数组类型数据,如何判断数组中是否包含某个值?使用mybatisplus查询。

这篇具有很好参考价值的文章主要介绍了mysql数据库存数组类型数据,如何判断数组中是否包含某个值?使用mybatisplus查询。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

跟mybatisplus中.in()方法相反的函数

mybatisplus的in函数:查询的是数据库的某个属性的值是否在给定的集合中。这里我们讲的是一个值是否在数据库的某个属性数组中。

说明:这是一张学生信息表,其中包含了学生曾经就读过的学校。现在我们要做的就是查询哪些学生就读过指定的学校,根据学校id。
数据库属性对应的结构:
mysql查询数组包含,数据库,mysql,java
现在数据库有三个学校id。

LambdaQueryWrapper<Student> wrapper = new LambdaQueryWrapper<>();
if (null != schoolId) {
            wrapper.apply("JSON_CONTAINS(school_id->\"$\", '[" + schoolId + "]')");
        }

1.Student的实体类中schoolId如下图:

mysql查询数组包含,数据库,mysql,java

2.Mapper里的类型如下图:

mysql查询数组包含,数据库,mysql,java

3.数据库类型可以选‘varchar’也可以选‘json’。这里使用的是varchar。

mysql查询数组包含,数据库,mysql,java

4.schoolId是传进来的参数,因为数据库存的就是中括号‘[]’类型的,所以代码里拼接也是用的[]。

5.如果还有跟其他条件,直接使用wrapper继续进行其他操作。

申明:这里我们讲的是mysql的json 数组类型,数组中保存的类型是Integer。像这样的:[1456,5642,13465]。如果需要处理其他结构类型的数据请移步到:

其他结构类型链接1
其他结构类型链接2

// List<Long> 存储 json 格式后的查询
.apply("JSON_CONTAINS(JSON_EXTRACT(order_id_list, '$.data[*]'), CONCAT('\"', {0}, '\"'))", orderId)
// List<Integer> 存储 json 格式后的查询
.apply("JSON_CONTAINS(JSON_EXTRACT(pass_node_codes, '$.data[*]'), {0})", passNode));

原文大致内容:
mysql查询数组包含,数据库,mysql,java文章来源地址https://www.toymoban.com/news/detail-597026.html

到了这里,关于mysql数据库存数组类型数据,如何判断数组中是否包含某个值?使用mybatisplus查询。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JS中判断某个字符串、数组等是否包含某个值

    方法一: indexOf()   (推荐)   indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。 方法二:match()   match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 方法三: search()   search() 方法

    2024年02月03日
    浏览(112)
  • vue前端判断某一个String类型的集合中是否包含某一个字符串怎么做

    在上面的代码中,我们使用 includes() 方法判断 strList 数组中是否包含 targetStr 字符串,如果包含则输出“字符串集合中包含目标字符串”,否则输出“字符串集合中不包含目标字符串”。 该博文为原创文章,未经博主同意不得转。本文章博客地址:https://cplusplus.blog.csdn.net/a

    2024年02月21日
    浏览(76)
  • mysql判断查询条件是否包含某字符串的7种方式

    like 也就是模糊查询 如:select * from user where user_name \\\'%李%\\\' locate 判断是否包含某字符串 如:select * from user where locate(\\\'李\\\',user_name)0 position 判断是否包含某字符串 如:select * from user where position(\\\'李\\\' in user_name)0 instr 判断是否包含某字符串 如:select * from user where instr(user_name,\\\'李\\\'

    2024年02月16日
    浏览(82)
  • Python如何判断列表中是否包含字符串?

    Python如何判断列表中是否包含字符串? 在Python编程中,我们经常需要对列表进行操作,其中一个常见的问题是如何判断列表中是否包含特定的字符串。本文将为您介绍几种实现方法。 方法一:使用in操作符 Python中可以使用in操作符快速判断一个列表是否包含某个字符串。示例

    2024年02月08日
    浏览(81)
  • golang中如何判断字符串是否包含另一字符串

    golang中如何判断字符串是否包含另一字符串 在Go语言中,可以使用strings.Contains()函数来判断一个字符串是否包含另一个字符串。该函数接受两个参数:要搜索的字符串和要查找的子字符串,如果子字符串存在于要搜索的字符串中,则返回true,否则返回false。 下面是一个示例代

    2024年02月09日
    浏览(73)
  • Js如何判断两个数组是否相等?

    日常开发,时不时会遇到需要判定2个数组是否相等的情况,需要实现考虑的场景有: 先判断长度,长度不等必然不等 元素位置 其他情况考虑 \\\'1\\\' 和 1 (Object的key是字符串, Map的key没有限制) NaN null 和 undefined 数组自带的方法,比较适合的有: every、some、filter、findIndex 。 这种

    2024年02月22日
    浏览(68)
  • 记录--如何判断两个数组的内容是否相等

    给定两个数组,判断两数组内容是否相等。 不使用排序 不考虑元素位置 例: 思考几秒:有了😀😀 直接遍历第一个数组,并判断是否存在于在第二个数组中 求差集, 如果差集数组有长度,也说明两数组不等(个人感觉比上面的麻烦就不举例了) 细心的小伙伴就会发现:N

    2024年02月08日
    浏览(158)
  • 如何判断某列某个单元格是否包含特殊字符(如空格、数字、下划线等等),并返回特殊字符

    VBA代码已写好,直接粘贴到VBA编辑器并保存,即可使用。也可以下载我写好的保存了宏代码的excel文件,直接调用即可。我的excel文件中也包含了很多重度办公人士经常需要用到的其他函数,目前的函数较少,后续会不断更新新的宏函数进去,并会在我的博客中进行功能介绍使

    2024年02月13日
    浏览(65)
  • js判断数据是否是数组或字符串

    有很多方法可以判断数据是否是数组或字符串,以下列举一些常见的方法: 1.通过typeof操作符判断数据类型,如果为“string”,则数据为字符串;如果为“object”,则需要进一步判断是否为数组。 2.使用instanceof操作符判断数据类型,如果为String,则数据为字符串;如果为Ar

    2024年02月17日
    浏览(84)
  • 前端基础面试题:如何判断对象是否具有某属性?遍历数组的方法有哪些?

    一、如何判断对象具有某属性? 如: let obj={name:\\\'zhangsan\\\',age:21} 有以下方法 ( property 为属性名的变量,实际上是key,键名): 1. property in obj 效果如图: in 运算符 2. Reflect.has(obj, property) 效果如图: 关于 Reflect: ① 它是JS的一个内置对象,无构造函数,可以用它遍历对象的key,如

    2023年04月08日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包