0%

在采用分库分表的数据库结构设计时,往数据库中新增数据(insert)不能在通过自增id来保证id唯一了,因为分表两个同样的表在不同服务器上自增id会重复,所有必须通过手动添加id来保证id的唯一性,snowflake (雪花)算法(twitter出品)就是用来生成唯一主键值很好的选择

阅读全文 »

我们知道通过java反射可以获取到某个类的class对象,从而获取这个类中的所有重要信息,如获取到该类实现的所有接口和继承的父类,但是对于获取到该类的子类等信息则获取不到了,这就像我们可以知道古人,古人却不知道我们,向上可以获取,向下不行!那么通过什么手段可以向下获取呢?

阅读全文 »

代理模式分为静态代理动态代理两种模式,其中静态代理则必须在编译期就需要确认代理类与被代理类,灵活性不高,而动态代理则是在运行期来确认,代理类通过编译器在运行时动态生成,无需我们手动创建!

动态代理模式如果细分,又要分为接口代理子类代理模式, 在我们常用的Spring AOP 中就用到了两种动态代理模式:JDK动态代理CGLIB动态代理,两种动态代理形成互补。

  • 接口代理模式:需要代理类与被代理类实现共同接口,也就是说被代理类必须实现一个接口才能被代理。

  • 子类代理模式:没有要求,因为代理类会做为被代理类的子类存在。(灵活性更高,效率更快)

阅读全文 »

本文主要讲Mybatis批量插入数据的三种方式效率对比和往数据库批量插入100万条数据实现的思路分析,数据库为MySql。

阅读全文 »

Mybatis是一个ORM框架,ORM是( Object Relational Mapping )的简写,翻译过来就是 对象-关系映射 ,简单来说就是把数据库和实体类及实体类的属性对应起来,让我们可以操作实体类就能实现操作数据库。

阅读全文 »

大家有没有碰到过,点刷新和手动下载之后,还是一堆红波浪线,并没有自动下载依赖。

解决方法:

点击如图的按钮,执行一个maven命令即可:

1
mvn -U idea:idea

如果是使用 标签管理的依赖,执行完以上命令后,在pom文件中可能还会存在一些jar包没被下载。如下图所示:

这是因为这里面只是声明一个依赖,并不是真实的下载jar,只有在子module中使用到,才会去下载依赖。

ES6的模块化导入导出

  • export导出的变量/常量,在import导入的时候需要知道导出时候的名称(必须指定)
  • export default导出的变量/常量,在import导入的时候不需要指定导出时候的名称(可以自定义),但是一个js文件中只能存在一个default
阅读全文 »