Finology 大数据金融

通过大数据以量化金融

使用Springboot集成了 mybatis-plus,在开发时,往往希望在控制台里面能看到 sql 语句,甚至查询结果,以便于高效开发。

在 Springboot 的yml文件里面加入如下内容:

1
2
3
4
mybatis-plus:
configuration:
# 是否将sql打印到控制面板(该配置会将sql语句和查询的结果都打印到控制台)
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

编译项目时,遇到这样一个错误提示。

1
2
Warning:(12, 1) Generating equals/hashCode implementation but without a call to superclass, even though
this class does not extend java.lang.Object. If this is intentional, add '(callSuper=false)' to your type.

这是由于我们使用lombok的@Data注解时造成的。使用@Data注解时,子类的equals和hashCode方法,默认是不比较父类的属性的。

1
2
3
4
5
6
7
public int hashCode() {
int PRIME = true;
int result = super.hashCode(); // 默认这句话是没有的
Object $ext = this.getExt();
result = result * 59 + ($ext == null ? 43 : $ext.hashCode());
return result;
}

解决方案有两个。

在类上再添加一个注解:@EqualsAndHashCode(callSuper = true)

这样有个问题就是,只要继承了其他类,都要加这个注解。

还有一个通用的解决方法,在src/main/java文件夹下面,注意,不是src/main/resources下面,添加配置文件lombok.config

文件里面的内容为:

1
lombok.equalsAndHashCode.callSuper=call

一般执行命令时带个-version参数,就能看到程序的版本号,但Kafka不行。

如何查看呢,先看到kafka的进程id。

1
# ps -ef | grep kafka

或者

1
2
3
4
# jps
29190 Kafka
29675 Jps
28734 QuorumPeerMain

然后看查此进程的启动位置。

1
2
# pwdx 29190
29190: /usr/local/kafka/kafka_2.12-2.6.2

就能查看到Kafka的版本了,正常人在安装时,都不会修改这个路径的。

0%