上一篇文章 跨表更新,看到自己写的SQL像个憨憨 写了关于跨表个更新的内容。一年过的很快,文中后来的两位员工 馮大 和 馮二 也要面对无情的 KPI 考核了,他们工作干的很不错,performance 分别是 4 和 5 新需求来了,静悄悄的来了!!! 领导想要查看每个 performance 下都有谁,同时要求将这些人的名称要逗号拼接成一个字符串,也就是说要得到下面的结果: 要将结果集中某个指定的列进行字符串拼接,这要怎么做呢?主角闪亮✨登场 GROUP_CONCAT(expr) 在 Mysql 官方文档 中,该函数被放在聚合函数章节,如果你要按照指定字段分组拼接,就要配合关键
有点 SQL 基础的朋友肯定听过 「跨表查询」,那啥是跨表更新啊? 背景 项目新导入了一批人员数据,这些人的有的部门名称发生了变化,有的联系方式发生了变化,暂且称该表为 t_dept_members, 系统中有另外一张表 t_user_info 记录了人员信息。要求将 t_dept_members 中有变化的信息更新到 t_user 表中,这个需求就是「跨表更新」啦 憨B SQL 直接被秒杀 不带脑子出门的就写出了下面的 SQL 看到身后 DBA 小段总在修仙,想着让他帮润色一下😜,于是发给了他,然后甩手回来就是这个样子: ​ 看到这个 SQL 语句我都惊呆了,还能
微信新增表情 微信新增十款默认表情! 微信新增十款默认表情! 微信新增十款默认表情! 微信今日悄然上线了十款新默认表情, 其中包含了  1. 吃瓜 2. 加油 3. 汗 4. 天啊 5. Emm 6. 社会社会 7. 旺柴 8. 好的 9. 打脸 10. 哇 感觉比用了表情包还激动。据悉,目前这十款新默认表情正在进行灰度测试,部分微信用户可能无法正常显示 一图胜千言,对于喜欢使用表情的你,快快打开你的微信看看吧
作为生长在内蒙的,不会套马的,酒精过敏的,不吃羊肉的,也不魁梧的奇葩,单曲循环听着腾格尔大爷的翻唱歌曲「可能否」,还是开始写了 2019 年总结,这个总结比 2002 😆 年来的更晚一些,因为在等待 2019 年末的一个 PMP(拍马屁)的成绩,赶不上各个平台的总结比赛了,写下来给自己个答复 年初的一次旅行之后,回来倍感惶恐,总觉得应该做点什么继续充实自己的生活。写博客记录和维护公众号的想法也就随之浮现在脑海中 翻看历史记录,在 2015 年就已经尝试搭建自己的博客了,奈何没有坚持分享,中途夭折。「种一棵树最好的时间是十年前,其次是现在」。这一刻,我要种一棵树,陪她长大,我变老,她茁壮
前言 有时,我们需要标记部分代码以供将来参考,比如: 优化,改进,可能的更改,要讨论的问题等。 通常我们会在代码中加入如下的标记表示待办: 1 //TODO 我将要在这里做 xxx 你这样做,别人也会这样做。一时间,项目中可能会存在大量的 TODO,当你搜寻你的 TODO 时也就变得非常麻烦,如同石沉大海,也就失去了这个标记的意义。 IntelliJ IDEA允许我们添加特殊类型的注释,使得这些注释在编辑器中突出显示,它们被索引,并在 TODO 工具窗口 中列出。这样,我们就容易追踪自己的 TODO 了。 默认的 TODO 默认情况下,IntelliJ IDEA识别两种模式:
前言 有时候我们需要在应用启动时执行一些代码片段,这些片段可能是仅仅是为了记录 log,也可能是在启动时检查与安装证书 ,诸如上述业务要求我们可能会经常碰到 Spring Boot 提供了至少 5 种方式用于在应用启动时执行代码。我们应该如何选择?本文将会逐步解释与分析这几种不同方式 CommandLineRunner CommandLineRunner 是一个接口,通过实现它,我们可以在 Spring 应用成功启动之后 执行一些代码片段 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 @Slf4j @Component @Order(2) public cl
前言 在编写项目代码时,我们要求更灵活的配置,更好的模块化整合。在 Spring Boot 项目中,为满足以上要求,我们将大量的参数配置在 application.properties 或 application.yml 文件中,通过 @ConfigurationProperties 注解,我们可以方便的获取这些参数值 使用 @ConfigurationProperties 配置模块 假设我们正在搭建一个发送邮件的模块。在本地测试,我们不想该模块真的发送邮件,所以我们需要一个参数来「开关」 disable 这个功能。另外,我们希望为这些邮件配置一个默认的主题,这样,当我们查看邮件收件箱,通过
通过如下前序两篇文章: 1. Spring Bean 生命周期之缘起 2. Spring Bean 生命周期之缘尽 我们了解了 Spring Bean 的生命周期核心内容,bean 是如何被初始化变为 Ready for Use 的状态,当资源被回收时又是如何被 destroy 的,但 Spring Bean Life Cycle图并未被全部点亮,这篇文章将点亮剩余内容,同时说说你常见的 XxxxAware 接口 为什么要说 Spring Bean 生命周期又说 Aware 呢?下来点亮剩下内容你也许就明白了: 1. 在 Spring Bean Ready for Us
上一篇文章 Spring Bean 生命周期之缘起 说明了我是谁? 和 我从哪里来? 的两大哲学问题,今天我们要讨论一下终极哲学我要到哪里去? 初始化 Spring Bean 有三种方式: 1. @PostConstruct 2. InitializingBean.afterPropertiesSet() 3. init-method 销毁 Spring Bean 同样有三种方式: 1. @PreDestroy 2. DisposableBean.destroy() 3. destroy-method 正所谓,天对地,雨对风; @PostConstruct 对 @Pre
Spring bean 的生命周期很容易理解。实例化 bean 时,可能需要执行一些初始化以使其进入可用 (Ready for Use)状态。类似地,当不再需要 bean 并将其从容器中移除时,可能需要进行一些清理,这就是它的生命周期 上一篇文章 面试还不知道BeanFactory和ApplicationContext的区别? 中说明了接口 Beanfactory 和 Applicationcontext 可以通过 T getBean(String name, Class requiredType) 方法从 Spring 容器中获取bean,区别是,前者是懒加载形式,后者是预加载的形式



Copyright 2018-2019 Tanθ's Blog   |   辽ICP备19017651号-1   |     站点总字数: 277.7k 字   |   载入天数...载入时分秒...   |  站点地图   |  站长统计
  总访问量:  次  总访问人数:  人

博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议