hibernate它是一个实现对JDBC轻量级封装的ORM(对象关系映射)的框架。处于项目的持久层。主要学习它的hibernate api和hibernate.cfg.xml,对象关系映射文件
这边介绍下项目的组成部分:
WEB层
业务逻辑层(调用HQL语句去操纵持久层,这样就不用去关心到底使用哪种数据库,持久层会自己去判断)
DAO层
持久层(对JDBC进行轻量级封装,完成对数据库的操作)
数据库
开发一个hibernate的流程主要有三种:第一种,先从Domain对象(又称JavaBean,POJO)开始,再写对象关系映射文件和hibernate.cfg.xml。第二种,先DB开始,再写对象关系映射文件和hibernate.cfg.xml。第三种,从对象关系映射文件开始。一般来讲,Domain对象类和对象关系映射文件同在一起,对象关系映射文件主要作用是在表和Domain类,表的字段和Domain类的属性之间建立一种映射关系。对象关系映射文件是一个XML文件,所以需要DTD文件要规范它。其中又要注意对包,对类,以及对主键(<id></id>表示主键,要表明是Domain对象中的哪个属性做为主键,并与表中的哪个字段对应,然后指定主键的生成策略,和策略名称),对属性的映射。hibernate.cfg.xml的作用是对连接到哪种数据库进行指定,包括登录用户,密码,数据库名,URL,还有要配置与哪个对象.hbm.xm.映射文件相映射。
在操作hibernate的时候,首先要建立配置文件Configuration(用来加载hibernate.cfg.xml),再建立会话工厂SesstionFactory,然后得到一个Session,这个Session可以理解为JDBC中的Connection,注意如果要对数据库进行增删改的操作,我们要使用到事务提交,如果仅仅是查询,可以不必使用事务。
Configuration configuration=newConfiguration().configure(hibernate.cfg.xml);//configuration的作用:1.加载hibernate.cfg.xml
SesstionFactory sesstionFactory=configuration.buildSesstionFactory();//SesstionFactory 常驻内存
Session session=sesstionFactory.openSession();
Transaction ts=session.beginTransaction();
//业务操作
//比如,增加一个(employee)
session.save(employee);
session.delete(employee);
//比如,修改一个(employee),在这之前,我们要先获取一个
Employee employee=(Employee)session.load(Employee.class,3);
employee.setName("cgf