mysql5.7连接驱动
关于mysql5.7版本的连接驱动问题,分别使用8.0以上mysql-connector,及5.1.34版本以上,对于mysql的连接参数的配置。1、使用5.1.35版本的连接驱动
使用5.1.34及以上版本的连接驱动,在mysql5.7的连接配置上,基本没有太大的出入。
具体配置如下:
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1:3306/jdcart?characterEncoding=UTF-8";
String username = "jdCart";
String password = "jdCart";
connection = DriverManager.getConnection(url, username, password);
在这里有一个需要特别注意的问题,如果你创建的数据库用户选择了sha256-password加密方式,这里可能会导致你连接失败。一般建议选择mysql自带的原生加密方式,即mysql-native-password。
当然如果你选择了sh256-password加密的话,也不要担心,可以使用mysql-connector5.1.25版本的连接驱动,配置如下:
Class.forName("org.gjt.mm.mysql.Driver");
String url = "jdbc:mysql://127.0.0.1:3306/jdcart?characterEncoding=UTF-8";
String username = "jdCart";
String password = "jdCart";
connection = DriverManager.getConnection(url, username, password);
2.使用8.0.12版本的连接驱动
使用8.0.12及以上版本的连接驱动,在mysql5.7的连接配置上,基本没有太大的出入。
注意连接的包名有所改变,但如果还是用com.mysql.jdbc.Driver也可以,只是会有警告信息,提示你此方法已过期。
还有一点,在使用8.0.12的连接驱动时,需要配置useSSL=false的参数。
具体配置如下:
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://127.0.0.1:3306/jdcart?characterEncoding=UTF-8&useSSL=false";
String username = "jdCart";
String password = "jdCart";
connection = DriverManager.getConnection(url, username, password);
总结
mysql版本与连接驱动的版本有严格的对应关系,一般来说mysql5.7+对应的连接驱动可以使用mysql-connector 5.0.34+
需要特别注意的是,连接的mysql用户的加密方式,如果选择了非原生加密方式,就要注意连接参数的配置。
希望对大家有所帮助!
============ 有不对的地方,欢迎指正! ==============