Hibernate入门(一)

目录:
1、Hibernate体系架构
2、流程
3、操作数据库的步骤
ORM,即对象/关系映射,ORM框架,完成面向对象的程序设计语言到关系型数据库的映射。
这里写图片描述

Hibernate体系架构:
Configuration:负责配置并启动Hibernate,创建SessionFactory对象
SessionFactory:负责初始化,充当数据存储的代理,并负责创建Session对象,是线程安全的,但也是重量级对象,不轻易创建,本身要应用到ConnectionProvider
Session:执行持久化对象的CRUD操作,是非线程安全的,单线程对象,轻量级,用它来创建Transaction
Transaction:负责执行事务的相关操作
Query和Criteria:执行各种数据库的查询

流程
1、创建数据库
2、创建配置文件,一种是包含Hibernate和数据库的连接信息,被先后加载到Configuration和SessionFactory实例;另一种是包含影射信息,即系统中每一个类与其对应的数据库表之间的关联信息。通过hibernate.cfg.xml的mapping节点被加载到Configuration和SessionFactory中
(1)hibernate.properties文件作为配置文件
该文件列出来所有属性,没有提供映射文件的方式,需使用Configuration的addResource()添加映射文件

Configuration cfg=new Configuration();
    cfg.addResource("test.hbm.xml");

(2)hibernate.cfg.xml文件
“`

包含Hibernate基本映射信息的配置文件,一般命名为className.hbm.xml,里面放数据库表的内容

3、编写一个持久化类,符合JavaBean的规范,包含属性和get、set方法,有一个ID属性,标识对象,还要带一个无参构造方法

4、写一个action类获得表单内容,execute()里面主要把信息调用模型类封装成一个类

5、编写工具类HibernateUtil这个获得和数据库打交道的Session
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
    private static SessionFactory sessionFactory;
    static{
        try{
        sessionFactory=new Configuration().configure().buildSessionFactory();
    }catch (Exception w){
        w.printStackTrace();
    }
}

public static Session openSession(){
    Session session=sessionFactory.openSession();
    return session;
}

}


6、编写用session处理数据类DAO,先编写接口再编写实现类,主要用session处理数据执行事务

操作数据库的步骤
(1)读取并解析配置文件

Configuration conf=new Configuration().configure();

(2)读取并解析影射信息,并创建SessionFactory

SessionFactory sessionFactory=conf.buildSessionFactory();

(3)打开Session

Session session=sessionFactory.openSession();

(4)开始第一个事务(增删查改)

Transaction ts=session.beginTransaction();

(5)数据库操作

session.save(test);

(6)提交事务(回滚)

ts.commit();//or (ts.rollback();)

(7)关闭Session

session.close();
“`
PS:通过实现HibernateCallback接口进行Hibernate查询,需将接口中doInHibernate()方法的参数设为final

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值