昨天晚上7点多的时候开始看尚学堂的Hibernate视频,一边看一边敲代码,也是是太累的缘故,脑袋一直是蒙蒙的。不管了,一直敲下来。好咧,敲好全部的代码,开始运行StudentTest.java这个类进行测试的时候,报了一个错误:
Could not parse mapping document from resource com/bjsxt/hibernate/model/Student.hbm.xml
······
·····
·····
不断的反复查看自己的两个配置文件。在修改了几个错误确认无误后,运行,还是这个样子。就不断的上百度、谷歌搜索,发现很多人也遇到过这个问题,提出的解决方案也有很多。在确认自己的配置文件内容已经路径没有问题之后,运行这个测试类还是问题依旧。
早上从8:00开始搜索开始,到了10点多的时候,忽然想起自己还有一本书,拿来书本一看,发现自己的测试类有点古怪,就按照书上的改了,运行,嘿,Pass....
------附:
||--错误的测试类 StudentTest.java
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.bjsxt.hibernate.model.Student;
public class StudentTest {
public static void main(String[] args) {
Student s = new Student();
s.setId(5);
s.setName("s1");
s.setAge(1);
Configuration cfg = new Configuration();
//默认的就是找class加载路径下的配置文件
cfg.configure();
//org
SessionFactory sf = cfg.configure().buildSessionFactory();
//注意:引入的session是org.hibernate.Session,不要选择过时的:classic
Session session = sf.openSession();
//事务
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
//关
session.close();
sf.close();
}
}
||--修改后的测试类:StudentTest.java
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.bjsxt.hibernate.model.Student;
public class StudentTest {
public static void main(String[] args) {
Student s = new Student();
s.setId(5);
s.setName("s1");
s.setAge(1);
Configuration cfg = new Configuration();
//默认的就是找class加载路径下的配置文件
//--cfg.configure(); --手贱的就是多了这么一个奇葩
//org
SessionFactory sf = cfg.configure().buildSessionFactory();
//注意:引入的session是org.hibernate.Session,不要选择过时的:classic
Session session = sf.openSession();
//事务
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
//关
session.close();
sf.close();
}
}