阿里禁止>3张表的JOIN,为什么,咋解决?

2021-07-01
阅读 1 分钟
7.4k
1. 阿里为何禁止大于三张表的JOIN?此规范是针对MySQL系数据库的,模拟一些场景多造些数据去查询对比不难发现:每增加1张表的JOIN,查询性能就会显著下降。比如下面这个场景(3张表各100W数据,个人PC测试):3张表的JOIN连接查询耗时3s多,如果再去JOIN一个字典表,耗时将在5s多。多JOIN一张表对性能的影响是比较大的。...

用注解实现一行代码构建QueryWrapper

2020-07-04
阅读 3 分钟
4.8k
Mybatis-plus的查询构造器可以方便的构建单表的SQL查询,你可以在controller里接收到请求参数然后转成查询条件,比如部门的搜索查询代码类似这样:

Spring中获取代理对象的目标类Class及Class中的泛型参数的方法

2019-12-27
阅读 1 分钟
3.9k
在Spring里如果你通过AplicationContext获取Bean实例,你拿到的可能是一个被Spring代理的对象实例,如果你需要获取这个代理对象的目标类Class该怎么做呢?

如何在父类中获取子类泛型的Class

2019-11-15
阅读 2 分钟
6.3k
假如你定义了一个有泛型的Base类,如下BaseClass<DO, VO>代码示例,如何在BaseClass中获取到子类对应的DO、VO的class对象呢?

Java代码生成的设计方案与实践

2019-11-05
阅读 1 分钟
2.7k
最近观看《美国工厂》的感触:在传统制造业,当生产线的工人成本高昂效率低下的时候,企业管理者便会开始探寻降本增效之道,自动化便是首选的解决方案。

解决java发邮件中文名太长乱码问题

2019-07-18
阅读 1 分钟
5.7k
当我们使用commons-email包或者javaMail发送邮件带有附件后,可能会出现较长的中文名乱码的情况,之后我们采用网上大多数人说的MimeUtility.encodeText()对文件名进行处理,然鹅,并不能解决问题。

Gradle构建SpringBoot程序依赖管理之依赖版本自动控制

2019-06-30
阅读 3 分钟
11k
前言:Spring体系中很多库之间相互依赖,但是由于版本之间差异比较大,我们需要比较精确的知道每个库的版本对应关系,不然很容易造成“库”与“库”之间对应不上,导致部分功能无效,甚至是异常情况。程序员排查起来一个头两个大,本篇文章将介绍如何利用gradle的插件来实现版本自动管理机制

如何在企业各团队间推广开发规范?

2019-06-28
阅读 1 分钟
1.9k
前些日在阿里技术公众号回复了一个“开发规范如何推广”的问题,获得了蛮多点赞。故写此一篇文章细讲一下我们的推广方式,给困惑的朋友贡献一点思路。

利用Lambda实现通过getter/setter方法引用拿到属性名

2019-06-04
阅读 3 分钟
7.9k
很多开发场景需要用到Java Bean的属性名,直接写死属性名字符串的形式容易产生bug(属性名一旦变化,IDE不会告诉你你的字符串需要同步修改)。JDK8的Lambda可以通过方法引用简化代码,同样也可以通过getter/setter的方法引用拿到属性名,避免潜在的bug。

Mybatis单表CRUD与多表关联的无SQL通用方案_2: 无SQL实现关联查询的自动绑定

2019-06-02
阅读 2 分钟
12.6k
上一篇无SQL实现单表CRUD中我们已经通过Mybatis-plus插件的通用Mapper实现了单表的CRUD的无SQL化,已经可以有效减少Mybatis的代码量。但实际开发场景下,多数业务需求实现要涉及关联查询,你可以通过自己写SQL的方式去做,或者再深入思考一下有没有更方便的实现方案呢?

gradle多模块打jar,上传本地仓库,并给本地其他项目使用

2019-05-18
阅读 2 分钟
10k
1、前言 本篇主要讲述:gradle多模块打jar包,上传本地仓库,并交由本地其他项目使用 2、环境准备 操作系统: mac os gradle版本:4.1.0 开发软件:idea 注:gradle版本不同,引入依赖方式可能不同,如果你发现本地导包是OK的,但是打包就报错,可以看看是不是gradle版本所引起的问题 3、多模块gradle文档 【gradle多环...

使用weixin-java-miniapp配置进行单个小程序的配置

2019-03-28
阅读 2 分钟
11.4k
在进行小程序后端接口开发方面,使用weixin-java-tools中的weixin-java-miniapp模块,往往可以事半功倍。 引入weixin-java-tools 在[链接]中搜索weixin-java-miniapp,进入微信小程序 Java SDK这个项目中。 选择相应正式版本来进行使用。 maven中在依赖中添加如下配置项: {代码...} gradle中添加如下配置项: {代码...}...

利用反射和注解,拷贝类型相同,属性名不同的对象

2019-03-23
阅读 7 分钟
4.1k
最近开发遇到一个问题,两个对象进行属性值拷贝。理论上来说可以直接借助org.springframework.beans.BeanUtils.copyProperties(Object source, Object target)来进行拷贝,奈何两个对象属性名不同,懵逼脸。

Hikari连接池配置之最大连接数(MySQL篇)

2018-12-05
阅读 1 分钟
10k
Hikari连接池配置参考建议根据实际访问量设置setMaximumPoolSize,不宜过大,否则会造成数据库连接数太多,无法访问。生产环境和测试环境可区别设置,比如:测试环境设置10,生产环境设置20

Mysql 8.0版本驱动getTables返回所有库的表的问题

2018-12-05
阅读 1 分钟
7.5k
MySQL Connector/J 8.0版本驱动向下兼容之前的5.5+版本MySQL,如果你使用的是5.5+版本MySQL,都可以升级成8.0版本驱动。