两个mysql的maven依赖要用哪个?
背景
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
</dependency>
和
<dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId>
</dependency>
有什么区别?mysql-connector-java是旧版,已经移动到mysql-connector-j了
mysql-connector-java的最后一个版本是8.0.33(2023年4月发布),之后请用新的artifactId(从8.1.0版本开始使用这个新的artifact名称)
springboot 3.0.0之后启用了新artifactId,即你可以只声明mysql依赖的groupId和artifactId,version继承自springboot的依赖管理。之前的springboot版本可以继续保持使用旧的artifactId,并且版本让springboot管理即可。
我个人觉得没有必要去单独设置版本,让springboot管理即可,既然mysql驱动的版本都集中到springboot的依赖管理里头了,就用官方的版本肯定兼容性更加好。
(当然如果官方集成的mysql的版本如果有vulnerability的话,单独升级mysql版本也可以,当然也会有不兼容风险