因为Hibernate只会自动建数据表,不会自动建数据库,所以在执行该方法之前,需要手动在数据库中建立相应的数据库,数据库的名称需要和配置文件保持一致,代码如下:
package com.hibernate.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.Test;
public class HibernateTest {
private static Configuration config ;
private static ServiceRegistry service;
private static SessionFactory sessionFactory;
private static Session session;
private static Transaction transaction;
public static void loadTransaction(){
//[1]加载hibernate.cfg.xml配置文件
config = new Configuration().configure();
service = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
//[2]获取SessionFactory
sessionFactory = config.buildSessionFactory(service);
//[3]得到一个Session
session = sessionFactory.openSession();
//[4]开启事务
transaction = session.beginTransaction();
}
@Test
public void createTest() {
loadTransaction();
// 工具类
SchemaExport export = new SchemaExport(config);
// 打到控制台,输出到数据库
export.create(true, true);
transaction.commit();
session.close();
sessionFactory.close();
}
}