配置hibernate所遇到的几个报错,分别解析如何解决

在配置hibernate的过程中弹出了下面的报错,我的解决之法。

Initial SessionFactory creation
failed.org.hibernate.HibernateException: Could not parse
configuration: /hibernate.cfg.xml Exception in thread “main”
java.lang.ExceptionInInitializerError at
util.HibernateUtil.buildSessionFactory(HibernateUtil.java:17) at
util.HibernateUtil.(HibernateUtil.java:8) at
logic.TeacherManager.addTeacher(TeacherManager.java:12) at
logic.TeacherManager.main(TeacherManager.java:31) Caused by:
org.hibernate.HibernateException: Could not parse configuration:
/hibernate.cfg.xml at
org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2246)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2158)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2137)
at util.HibernateUtil.buildSessionFactory(HibernateUtil.java:13)

因为第一次配置不熟练,这个错误一出来的时候,我就上网搜索,有几个解决方法,但是对我没用,我于是被迫看代码解决了,还是自己看代码不仔细,听我慢慢道来。

一、

我是搜索Could not parse configuration: /hibernate.cfg.xml

解决办法:
将hibernate.cfg.xml中的xml头部
< !DOCTYPE hibernate-configuration PUBLIC
“-//Hibernate/Hibernate Configuration DTD 3.0//EN”
“http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd”>
改为:
< !DOCTYPE hibernate-configuration PUBLIC
“-//Hibernate/Hibernate Configuration DTD 3.0//EN”
“http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd”>

我马上一看发现我的代码就是改了之后的代码[ “http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd”],也就是说这个办法对我没用

二、

搜索无门,看到控制台还出现下面这个,看不下去,马上解决
Mon May 25 21:34:52 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.
在这里插入图片描述

在hibernate.cfg.xml中写

		<property name="hibernate.connection.url">jdbc:mysql://localhost/salary?characterEncoding=UTF-8&useSSL=false</property>

再运行:有提示,必须以分号结尾
在这里插入图片描述
好,再改代码

		<property name="hibernate.connection.url">jdbc:mysql://localhost/salary?characterEncoding=UTF-8&useSSL=false;</property>

改完后还出现:
在这里插入图片描述
再看了下这句代码:发现xml里面的&,要写成这样& amp;
改代码:

		<property name="hibernate.connection.url">jdbc:mysql://localhost/salary?characterEncoding=UTF-8&amp;useSSL=false;</property>

然后发现出现了这个提示:

The connection property ‘useSSL’ only accepts values of the form:‘true’, ‘false’, ‘yes’ or ‘no’. The value ‘false;’ is not in this set.

也就是说useSSL仅仅只接受true,false,yes,no,你新白写的是useSSL=false;这就是有问题的啊
那好吧,再改:

		<property name="hibernate.connection.url">jdbc:mysql://localhost/salary?characterEncoding=UTF-8&amp;useSSL=false</property>

运行:
在这里插入图片描述
解决了,发现还蛮有趣的啊,这个解决报错不要急躁,更不要捶桌子砸电脑(狗头保命) 在这里插入图片描述
慢慢根据下面提示来解决,读自己的代码,于是eclipse:在这里插入图片描述

接着解决,看上面的could not insert 不能插入,估计是我的*.hbm.xml配置有问题:
在这里插入图片描述
看到了这个,可是题目要求是直接插入tno(老师id),不需要自动增加,太粗心了,删掉。
在这里插入图片描述
【注意】:在MySQL中也就不要勾上了。
在这里插入图片描述
运行:
在这里插入图片描述
不能更新?,马上看MySQL的表
在这里插入图片描述
再看自己插入的
在这里插入图片描述
原来有了一条记录tno=5,设置的tno为主键也就是具有唯一性,所以不能插入了。
再插入tno=10005,运行
在这里插入图片描述
成功,看MySQL的表中,也插入成功了。
在这里插入图片描述

虽然说没有解决难得bug,从几个小的报错一步步分析开始,慢慢习惯,解决完发现还蛮有趣的。点赞关注,成为朋友,还会分享一些其他的知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值