ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
千呼万唤始出来,经过前期大量的准备工作,终于可以往数据表里写入数据了。 # 测试数据写入 在与C层对接前,我们写个测试代码,来共同学习怎样使用session和transaction向数据表中写入数据。 ``` package hibernate; import java.util.Properties; 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.hibernate.tool.hbm2ddl.SchemaExport; import org.junit.Test; public class TableTest { @Test public void createTable() { ...... } @Test public void add() { // 实例化并加载数据库配置文件 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(); // 创建实体 entity.Teacher teacher = new entity.Teacher(1, "张三", "zhangsan", "zhangsan@yunzhiclub.com", false, "123321"); // 预报存操作 session.save(teacher); // 事务提交。只有执行了事务提交,数据才真正的被写入到了数据表中 transaction.commit(); // 关闭会话 session.close(); } } ``` 流程图如下 : ![](https://box.kancloud.cn/6ccc75c0d0a749a6a09339c8c4dc40c3_211x470.png) 事务这个名启,我们在前面已经学习过,在这里,由于是对单表进行了操作。还看不到事务的魅力。没关系,前期我们将此融化在血液里就好了。上述的流程是添加数据的必要操作。缺一不可。