一、关于Hibernate出现的数据库连接不上的问题
- 数据库连接不上,报错信息:
1.这种情况一般是在hibernate.cfg.xml 中配置的连接信息有错误
解决方法
检查驱动是否填写正确、url是否正确、用户名密码是否正确
2.另一种情况,是因为版本匹配不上,比如数据库的版本太高(我的是mysql8),而驱动包的版本落后,我在写"HelloWord"的时候就遇到了这种问题,刚开始根本想不到,百思不得其解。
解决方法
更新jar包,换成最新版本,比如我刚开始用的是mysql-connector-java-5.1.6.jar,需要换成更高版本,比如我换的是mysql-connector-java-8.0.18.jar 。
在这之后,不要忘了hibernate.connection.url的取值以及方言的问题:
修改方言为MySQL5Dialect…
二、 ResourceClosedException异常
官方文档解释:
一般是错误的关闭了session,sessionFactory而导致的
太过粗心,贴上代码
@Before
public void init(){
Configuration configuration = new Configuration().configure();
sessionFactory = configuration.buildSessionFactory();
session = sessionFactory.openSession();
}
@Test
public void testComponent(){
transaction = session.beginTransaction();
Worker worker = new Worker();
worker.setName("Tom");
Pay pay = new Pay();
pay.setMonthPay(7000);
pay.setYearPay(200000);
worker.setPay(pay);
session.save(worker);
}
@After
public void destory(){
if (session!=null){
session.close();
}
if(sessionFactory!=null) {
sessionFactory.close();
}
transaction.commit();//在关闭了session和sessionFactory之后提交,肯定有问题啊!
}
三、使用idea工具的一些问题
因为idea有自带的数据库管理工具,所以在配置映射文件时,会提示配置上数据库源,但是这个错误提示可以省略,尽管不配置,创建的配置映射文件仍然可以在数据表中显示。