Hibernate 的DB操作模式

本文详细介绍了使用Hibernate进行数据库操作的步骤,包括建立配置文件、创建对象和事务、执行查询、处理结果及提交事务等关键步骤。并通过用户操作为例,展示了Hibernate在数据库表与Java实体类之间的映射关系,以及测试程序如何通过Java代码间接完成数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于经常用到Hibernate 进行DB操作,有一定的模式,在数据库的访问DAO接口的实现类DAOImpl中的某个方法内操作DB的开发步骤模型依次如下:

------------------------------------------------------------------------------------------------------------

事先建立hibernate的配置文件,即对应的XML(.hbm.xml)文件;

1,建立配置文件类 Configuration 对象; Configuration  cfg = new Configuration().configure();   ==>

2,建立 SessionFactory 对象;  SessionFactory  sf=cfg.buildSessionFactory();   ==>

3,建立 Session 对象; Session  s=sf.openSession();   ==>

4,建立事务处理 Transaction 对象; Transaction  tr=s.beginTransaction();   ==>

5,建立 Query / SQLQuery 对象; 

Query  q=s.createQuery(hSQL语句); 或者SQLQuery  q=s.createSQLQuery(SQL语句);  ==>

6,建立 List 对象; List  l=q.list();   ==>

7,建立 Iterator 对象; Iterator  it=l.iterator();  ==>

8,循环处理结果;   ==>  
   while(it.hasNext()){
         //....work code...
   }


9,提交事务 tr.commit();  ==>

10,关闭当前Session对象; s.close (sf.close看情况如果其他方法用到就不关) 完成;


------------------------------------------------------------------------------------------------------------

例如有如下有关用户User的操作,那么数据库表,ORM(hibernate),测试程序的关系大致如下:

1,xDB.yTable                   //xDB数据库的xTable表
2,Hibernate                     //ORM(完成对象到数据库关系映射代码/软件)之一
3,User.hbm.xml              //ORM对应的配置XML文件
4,UserEntity                    //Java实体类对象
5,UserDAO                     //操作UserEntity的Java类接口,也即DB操作接口
6,UserDAOImpl              //操作DAO接口的实现类
7,TestAppUser               //测试程序



UserEntity <--------------------UserDAOImpl-------------------->xDB.yTable
                                ORM(hibernate,User.bhm.xml)


在 TestAppUser 中:

 xxxDataBase.yyyTable
  /\                                    |*\
  ||                                        *. 间
  ||                                           *. 接
  ||                                               *. 完
通过UserDAOImpl操作                 *. 成
借ORM(hibernate,XML)完成映射       *.
  ||                                                           *. 
  ||                                                              *. 
  ||                                                                  *_\ 
  \/
UserEntity <-------------------------------- TestAppUser
                         通过java常规代码操作

-------------------------------------------------------------------------------------


------------------------------------------------------------------------------------------------------------

可见测试程序中,测试程序通过Java常规代码操作Java实体类对象 UserEntity,
DB操作接口的实现类 UserDAOImpl 用实体类 UserEntity 作为(参数)数据,借助hibernate完成数据库的操作其中用ORM(hibernate)完成数据库表各字段和实体对象属性之间的映射关系,这样测试程序通过实体类UserEntity 间接完成了数据库的操作;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值