ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 测试代码 > 所有的测试代码,都位于Test测试文件夹中 ![](https://box.kancloud.cn/07d933ade16e5d7419a2d7ab8c5dc026_222x130.png) ``` package teacher; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Query; 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; import entity.Teacher; public class IndexTest { @Test public void getLists() { // 实例化并加载数据库配置文件 Configuration configuration = new Configuration().configure(); // 构造服务注册对象 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder() .applySettings(configuration.getProperties()) .buildServiceRegistry(); // 创建会话工厂(session factory)) SessionFactory sessionFactory = configuration .buildSessionFactory(serviceRegistry); // 创建会话(这里的session也是会话的意思,我们以前接触的http中的session,处理的是用户与服务器的对话) Session session = sessionFactory.getCurrentSession(); // 开启事务(使用缓冲池进行数据库的连接) Transaction transaction = session.beginTransaction(); // 在这里,必须使用try catch finally语句。来确定会话正常关闭. // 否则,当操作数据库产生错误时,你可能需要重启mysql服务 try { // 新插入两条记录 Teacher teacher1 = new Teacher(); teacher1.setName("zhangsan"); Teacher teacher2 = new Teacher(); teacher2.setName("lisi"); session.save(teacher1); session.save(teacher2); // 查询Teacher表,注意:是Teacher ,而不是 teacher Query query = session.createQuery("from Teacher"); // 预查询,只有在事务提交时,才进行查询操作 List<Teacher> teachers = query.list(); for (Teacher teacher : teachers) { System.out.println(teacher.toString()); } // 提交事务 transaction.commit(); // 捕获异常 } catch (HibernateException e) { throw e; } finally { // 如果session处于开启状态,则关闭session if (session.isOpen()) { // 关闭会话 session.close(); } } } } ``` # 测试 在hibernate配置项hbm2ddl.auto为create时。数据如下: ``` Hibernate: insert into Teacher (email, name, password, sex, username) values (?, ?, ?, ?, ?) Hibernate: insert into Teacher (email, name, password, sex, username) values (?, ?, ?, ?, ?) Hibernate: select teacher0_.id as id1_0_, teacher0_.email as email2_0_, teacher0_.name as name3_0_, teacher0_.password as password4_0_, teacher0_.sex as sex5_0_, teacher0_.username as username6_0_ from Teacher teacher0_ Teacher [id=1, name=zhangsan, username=null, email=null, sex=false, password=null] Teacher [id=2, name=lisi, username=null, email=null, sex=false, password=null] ``` > 如果你的hibernate.cfg.xml配置文件中的hbm2ddl.auto仍然为create, 在本节中,推荐你改为update。