hibernate的基本保存操作

    xiaoxiao2021-12-14  19

    紧接着上一篇hibernate的配置,我们来练习hibernate的保存操作;

    上一篇《hibernate简介及配置》中我们创建好了UserBasic数据库表实体类。并做了相关的hibernate配置,现在我们来写一个测试用例来进行hibernate保存操作的练习。

    第一步:编写测试用例

    1.在src目录下创建包com.ballchen.demo;

    2.在com.ballchen.demo包下创建测试用例类HibernateDemo.java;

    3.在HibernateDemo类中创建testSave方法;

    4.添加junit注解配置。

    第二步:编写保存代码

    /* 1.首先加载hibernate的核心配置文件hibernate.cfg.xml。 这里我的核心配置文件在src目录下,若是在其它目录,可以在么写 Configuration cfg = new Configuratioin().config("xxx.xxx.xx.hibernate.cfg.xml"); */ Configuration cfg = new Configuration().config(); /* 2.获得SessionFactory对象 */ SessionFactory sessionFactory = cfg.buildSessionFactory(); /* 3.获得session对象 */ Session session = sessionFactory.getCurrentSession(); /* 4.开启事务 */ session.beginTransaction(); /* 5.创建UserBasic对象(瞬时态) 这里我在UserBasic.hbm.xml中配置了主键策略,所以在设置瞬时态对象 属性值的时候不需要再设置ID的值 */ UserBasic userBasic = new UserBasic(); userBasic.setUserName("小明"); userBasic.setPassword("123456"); userBasic.setAddress("地球"); userBasic.setDate(new Date()); /* 6.通过session执行保存操作 */ session.save(userBasic); /* 7.提交事务,保存结束 */ session.getTransaction().commit(); 完整的代码截图:

    第三步:执行testSave()测试用例

    在testSave()方法上右键,debug。等待执行结果,这个时候如果报关于junit的错误,有可能是没有引入hamcrest-core-1.3.jar包。

    运行结果如下:

    看到绿条,说明运行成功,可以看到hibernate执行的sql语句。

    这篇文章我们做了一个hibernate最基本的保存操作,下一篇介绍hibernate的级联保存操作。

    ps:因为我在hibernate的核心配置文件中配置了hibernate.hbm2ddl.auto为update,hibernate自动创建了表,所以没有写sql脚本,但在实际的工作中,不建议让hibernate自动生成表,建议编写sql脚本来创建你的表结构,然后我们用idea或者myeclipse所带的hibernate工具根据表来创建你的实体类和配置文件。这个在后面的《hibernate最佳实践》一文中会讲到。

    转载请注明原文地址: https://ju.6miu.com/read-962321.html

    最新回复(0)