一:HelloWorld程序结构
2:相关源码
3:console输出
Hibernate: insert into Student (name, age) values (?, ?)
4:知识总结
本例讲的是基于xml映射方式的hibernate。
准备条件:
(1)hibernate中心包,hibernate依赖包,slf4j-nop-1.5.8.jar(hibernate依赖包中有:slf4j-api-1.5.8.jar,只是日志的接口,没有实现,所以引入对应版本的实现slf4j-nop-1.5.8.jar)
(2)创建model对象
(3)创建hibernate配置文件hibernate.cfg.xml,配置文件的名称约定俗成,最好不要修改。配置文件的格式最好拷贝hibernate源码中的demo。
<property name="hbm2ddl.auto">update</property>可以自动创建数据库。
(4)有了model,有了数据库,还需要知道model中的属性跟数据库字段的对应关系。需要Student.hbm.xml,跟model在同一目录下。
(5)在hibernate.cfg.xml中配置model映射
<mapping resource="com/hibernate/model/Student.hbm.xml" />
单元测试:
(1)创建配置文件解析对象
Configuration cfg = new Configuration();
(2)cfg.configure();返回的是Configuration自身对象,configure()方法就是会解析hibernate配置文件,返回一个解析完配置文件的Configuration 。
(3)cfg.configure().buildSessionFactory()创建session工厂,字面意思session工厂就是来创建session的。
(4)Session session = factory.openSession(); 开启session。
//开启事务
session.beginTransaction();
//持久化操作
session.save(s);
//提交事务
session.getTransaction().commit();
//关闭相关资源
session.close();
factory.close();