MySQL数据库FIND_IN_SET函数的使用

一、FIND_IN_SET(str,strlist)函数

第一个参数:可以是字段也可以是字段中的一个数据

第二个参数:可以使字段集合也可以是以逗号作为分割根据的字符串

查询的结果集为: str在strlist中的结果集

二、使用方法

1、测试的category表

MySQL数据库FIND_IN_SET函数的使用_第1张图片

2、从category这张表中查询id为1,3,5,7的分类信息

SELECT * FROM category WHERE FIND_IN_SET(id,'1,3,5,7')

查询结果:

MySQL数据库FIND_IN_SET函数的使用_第2张图片

3、从category这张表中查询id为1的分类信息

SELECT * FROM category WHERE FIND_IN_SET(1,id)

查询结果:

三、在代码中的使用场景

例如:

        【传统方法】批量查询商品的分类信息,前端传来的参数是 string ids = ''1, 2,3 4,'5'; 后端接收到这个参数一般的处理方式是分割字符串转成数组,然后遍历这个数组根据单个id查询分类信息。

          【使用上述函数FIND_IN_SET方法】在sql语句中直接使用这个函数,查询的结果集直接使用List集合进行接收。

四、mapper.xml文件


  and FIND_IN_SET (id, #{ids,jdbcType=VARCHAR})

 

 

 

 

你可能感兴趣的:(Mybatis)