对马士兵的教学视频进行了学习,使用了高版本的Hibernate( 4.2.4),真是各种蛋疼,各种报错。。。。。。
错误:Connection cannot be null when 'hibernate.dialect' not set
参考了这两位的博客之后,才可正常运行:
http://blog.csdn.net/y200930690129/article/details/7441969
http://blog.csdn.net/iaiti/article/details/9212717
不明白其中的道理,先记录一下解决方案
所有文件目录:
hibernate.cfg.xml 、 Student.java、 Student.hbm.xml 并未进行修改
hibernate.properties
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.password=123456
hibernate.connection.url=jdbc:mysql://localhost:3306/hibernatetest
hibernate.connection.username=root
hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
StudentTest.java
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import com.test.model.Student;
public class StudentTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Student s = new Student();
s.setId(3);
s.setName("a3");
s.setAge(3);
Configuration cfg = new Configuration();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
SessionFactory sf= cfg.configure().buildSessionFactory( serviceRegistry );
Session session = sf.openSession();
session.beginTransaction();
session.save(s);
session.getTransaction().commit();
session.close();
}
}
这样即可运行