最近做项目遇到个类似收藏的需求(不能被取消)涉及两个表 用户表sys_user 商品表goods,项目已经上线是二次开发 如果添加中间表就需要维护旧数据(不考虑) 表结构类似如下

一、

1.首先想到的是用 IN()

SELECT good_name FROM goods WHERE id IN (1,2,3,4)

2.使用GROUP_CONCAT()函数拼接结果

持久层用的mybatis 将字符串‘1,2,3,4’ 转化成(1,2,3,4)代码如下

最后

将XXXX替换成 上述代码结果就变成

注意红框 看到这我就有一种不好的预感

mybatis在使用foreach的时候最关键的也是最容易出错的就是collection属性

看了mybatis文档关于collection的说明 我就把上述代码给干掉了 -_-! (想知道结果,感兴趣的 可以试下 ,因为我也好奇能不能行得通)

二、

没错 我还有其他方法 就是FIND_IN_SET(param1, param2)函数

1 . FIND_IN_SET的定义可以看下方链接

https://www.cnblogs.com/mytzq/p/7090197.html

2. 当param1 是一个表的字段时 类似IN(集合)

直接上结果

持久层代码中避免了感人的 foreach

让自己感动

in function ‘int main()’_FIND_IN_SET 及IN 处理逗号间隔的字符串参数相关推荐

  1. shell foreach 拼接字符串_FIND_IN_SET 及IN 处理逗号间隔的字符串参数

    最近做项目遇到个类似收藏的需求(不能被取消)涉及两个表 用户表sys_user 商品表goods,项目已经上线是二次开发 如果添加中间表就需要维护旧数据(不考虑) 表结构类似如下 一. 1.首先想到的 ...

  2. in function ‘int main()’_如果 main 函数的末尾没有 return 语句将会有什么影响

    背景简介 本文是前段在知乎回答的一个问题,觉得蛮重要的,重新编撰发布如下. 原问题为: "c语言中,如果main函数的末尾没有return语句将会有什么影响?": 我是准大一,学计 ...

  3. c语言中entern int x y,关于extern和int main()的结构有关问题

    关于extern和int main()的结构问题 本帖最后由 hashcat 于 2015-09-20 12:34:50 编辑 这是c实现md5加密的代码,报错部分是两处extern,其实也就是两处e ...

  4. main.c: In function ‘hello’: main.c:3:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ bef

    具体错误: main.c: In function 'hello': main.c:3:1: error: expected '=', ',', ';', 'asm' or 'attribute' b ...

  5. 学习指针后对int main(int argc, char *argv[]),“()“内部参数的详解(初学者不要怕,浅浅学过指针的就可以看懂)

    大二时,出学51单片机时,经常写程序然后烧录程序,免不了去借鉴一些大佬的代码,但有些代码的主函数在当时的我看起来很奇怪,因为那时学的少,所以时常不敢于借鉴.例如int main(int argc,ch ...

  6. int main()与void main()区别?

    在学习C语言的过程中,会习惯性的将int main()写为void main(),两者有什么区别? 1.int main() 在 C99 标准中,有两种正确的使用方式: int main( void ...

  7. C语言-int main()与void main()

    你有没有想过 int main()  void main() 怎么选? 前言: // C 语言中的函数定义的一般形式如下return_type function_name( parameter lis ...

  8. int main(int argc,char *argv[]),主函数的参数问题

    主函数的参数 在VC++中,我们有时候看到一些程序的主函数是带有参数的,虽然我们经常用到VC++但是对主函数的参数并不是很理解: int main(int argc,char *argv[]) 对于里 ...

  9. 关于int main( int argc, char* argv[] ) 中arg和argv参数理解

    在示例程序中经常可以看到argc和argv这两个参数 ,在调试代码过程中遇到main函数为int main( int argc, char* argv[] ) 这种类型时往往会报错,或者是运行起来了但 ...

最新文章

  1. 人工智能技术给教育行业带来哪些主要影响?
  2. python程序实例源代码-Python 神经网络手写识别实例源码
  3. YII CRUD 例子
  4. php自然排序法的比较过程,PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)...
  5. 串的模式匹配(BF算法)
  6. ie6/ie7/firefox/dispaly:inline-block:兼容性
  7. OMG,学它!javaweb网上购物系统
  8. python运维和开发实战-高级篇
  9. 用HTML5编写日历,js编写当天简单日历效果【实现代码】_javascript技巧
  10. 计算机专业英语 9次作业合集 从第九次到第一次
  11. 修复office安装提示1706
  12. 为什么线程崩溃不会导致 JVM 崩溃
  13. asp、php、asp.net、jsp介绍及优缺点比较
  14. 即将到来的Xcode8 都更新了什么?
  15. 程序员主流代码编辑器,你用过多少款?
  16. Neutron OVS-DVR
  17. CSMA/CD协议分析
  18. BC70 空心三角形图案
  19. 给静态图片添加动态效果
  20. pandas合并操作

热门文章

  1. Docker终失C位,开源少年缘何黑化
  2. Python 手把手实现远程控制桌面
  3. 华为定义5.5G网络;阿里巴巴美股投资者发起集体诉讼;Kaldi核心算法K2 0.1版本发布|极客头条
  4. 输入网址按回车,到底发生了什么?
  5. 阿里辟谣:不会高薪聘请黑阿里网站的人;苹果欲用 iPhone 替代身份证和护照;Python 3.9.0b4 发布| 极客头条
  6. 全网最详细 TCP 参数讲解,再也不用担心没有面试机会了......
  7. 京东:618 期间遭「黑公关」恶意抹黑;Adobe 回应“杀死Flash”;Bootstrap 5.0 Alpha 发布 |...
  8. 微信改号?我用 Python 发现了六大隐藏秘密......
  9. 李彦宏:百度今年全员涨薪,比去年还多;谷歌暂停Chrome浏览器更新;Eclipse 4.15发布 | 极客头条...
  10. 一家独大的亚马逊,让人恐慌?