走偏的IT生的复习之路一:SSH之Hibernate+mysql8.0小结

毕业之后走偏了,没走IT路线,目前复习中,把复习中碰到的问题总结下,权为笔记。

本科念书的时候,一直学的java向,想到复习也只想到了java,现在没把握时下的技术风向,还是从ssh开始复习。第一步,从Hibernate起,新电脑环境都是重新配置的,官网下的mysql最新版本,即mysql8.0.12,Hibernate还是用自己比较熟悉的5.0.7版本。

 

一、准备环境

Hibernate-5.0.7 + mysql-8.0.12;

jar包:

Hibernate必备的 required下的所有jar包;

走偏的IT生的复习之路一:SSH之Hibernate+mysql8.0小结_第1张图片

Hibernate的 jpa下的jar包;

日志包和数据库连接包:

最新的mysql连接包可以到mysql官网(https://dev.mysql.com/)下载

走偏的IT生的复习之路一:SSH之Hibernate+mysql8.0小结_第2张图片

走偏的IT生的复习之路一:SSH之Hibernate+mysql8.0小结_第3张图片

Hibernate连接Mysql所需的jar包如下:

走偏的IT生的复习之路一:SSH之Hibernate+mysql8.0小结_第4张图片

 

配置hibernate核心配置表hibernate.cfg.xml.:



	
	
		
			
			com.mysql.cj.jdbc.Driver
			jdbc:mysql:///test?useSSL=false&serverTimezone=UTC
			root
			root
			
			
			
			true
			
			true
			
			update
			
			org.hibernate.dialect.MySQLDialect
			
			
			
		
	

 

其中,mysql8有新特性。

驱动类名称由com.mysql.jdbc.Driver 变为 com.mysql.cj.jdbc.Driver;

mysql-8.0不需要ssl连接的,还需要配置相应的time zone,所以url如下jdbc:mysql:///test?useSSL=false&serverTimezone=UTC,配置文件无法识别&,则用通配符&替代。

之上,相应错误贴出,以便对照处理:

报错:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. 处理:驱动的类名称应为新名称`com.mysql.cj.jdbc.Driver'。

报错: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.     处理:url设置ssl=false.

报错:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.    处理:time zone 需做新版本相应配置,serverTimezone=UTC。

以上错误均会报错:Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]。此时需要核对是否出现以上三种错误,或者是连接数据库的jar包版本不对。

至此,已可正常连接mysql。

走偏的IT生的复习之路一:SSH之Hibernate+mysql8.0小结_第5张图片

你可能感兴趣的:(走偏的IT生的复习之路一:SSH之Hibernate+mysql8.0小结)