zoukankan      html  css  js  c++  java
  • MySQL之FIND_IN_SET函数

    1. 场景:
      标签表(t_tag):
    id name
    1 文学
    2 科技

    文章表(t_artic),包含tags字段存储标签的id列表,以逗号分隔:

    id title tags
    1 文学和科技的联想 1,2
    2 从科技到文学的思考 2,1
    1. 现在需要SQL查询文章列表,每个文章级联其下的多个标签,由于不想建关系表,又想用一条SQL搞定查询,FIND_IN_SET(ele, list)函数能满足要求,其中参数ele是匹配项,list是varchar表示的集合,两个参数类型必须匹配
    SELECT 
          t.id,
          t.title,
          g.name
    FROM
          t_artic AS t,
          t_tag AS g 
    WHERE
          FIND_IN_SET(g.id, t.tags);
    
    1. Java代码中文章的VO对象定义标签的集合字段,MyBatis ResultMap配置的Collection属性即可。
  • 相关阅读:
    魔法跳舞链 51Nod
    反射
    JDBC---后端服务器与数据库交互的桥梁
    多线程
    IO流
    继承与重写
    java.util包
    多态
    Java.lang包
    异常
  • 原文地址:https://www.cnblogs.com/JaxYoun/p/13048355.html
Copyright © 2011-2022 走看看