在实现第一个JDBC程序时,还有以下3点需要注意: 1、注册驱动 虽然使用DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver())方法也可以完成注册,但这种方式会使数据库驱动被注册两次。因为在Driver类的源码中,已经在静态代码块中完成了数据库驱动的注册。为了避免数据库驱动被重复注册,只需要在程序中使用Class.forName()方法加载驱动类即可。
2、释放资源 由于数据库资源非常宝贵,数据库允许的并发访问连接数量有限,因此,当数据库资源使用完毕后,一定要记得释放资源。为了保证资源的释放,在Java程序中,应该将释放资源的操作放在finally代码块中。?
3、获取数据库连接 在新版本中获取数据库连接时需要设置时区为北京时间(serverTimezone=GMT%2B8),因为安装数据库时默认为美国时间。如果不设置时区为北京时间,系统会报MySQL设置时区与当前电脑系统时区不符的错误?
此外,MySQL高版本需要指明是否进行SSL连接,否则会出现警告信息。警告信息具体如下所示: Fri Mar 20 18:55:47 CST 2020 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.?
遇到这种情况,只需要在mysql连接字符串url中加入useSSL=true或者false即可,具体示例如下所示。 url=jdbc:mysql://127.0.0.1:3306/jdbc?characterEncoding=utf8&useSSL=true?