Hibernate开发笔记_day01简介

1.Hibernate框架有什么作用
Hibernate是一个数据库访问(持久层)框架,简化了对数据库的增删改查操作。Hibernate框架本质是对JDBC技术的封装。
---------------------------------------
EJB:企业级JavaBean,需要EJB容器才能使用。
EntityBean类型的EJB组件,可以与数据库记录进行映射。
Hibernate已被JBOSS收购,用它实现EntityBean组件.
------------------------------------------
Hibernate框架的优点如下:
a.简化了复杂的SQL语句,由Hibernate自动生成
b.Hibernate框架支持当前主流的各种数据库类型,
当进行数据库移植时,可以不用修改访问代码。
c.可以将数据库表的记录和实体对象映射。

2.Hibernate框架实现原理
Hibernate框架是基于ORM思想实现的。
ORM:Object Relation Mapping 对象关系映射。
指的是将应用程序中的对象和关系数据表中的记录进行映射。之后在应用程序只要对这些对象进行操作,就可以实现对数据库的操作。在插入时,可以将对象信息映射到数据表的记录;在查询时,可以将数据表记录映射成对象。
ORM工具:Hibernate,iBATIS,JPA等技术。

*3.Hibernate框架使用


1)Hibernate框架结构


a.实体类(n个)


用于封装数据库记录的对象


b.hibernate.cfg.xml (hibernate.properties)(1个)


主配置文件,定义了数据库连接参数和数据库类型等


c.hbm.xml映射描述文件(n个)

定义数据表和实体类之间的映射,属性和字段的映射 信息。

2)Hibernate使用步骤


a.先引入Hibernate和驱动开发包


b.添加Hibernate主配置


c.添加映射的实体类和映射描述文件


d.利用Hibernate API进行数据库操作


Cofiguration配置对象,用于加载主配置文件


SessionFactory对象,用于创建Session对象的工厂


Session对象,用于执行增删改查操作。


Query对象,用于执行Hibernate查询语句(HQL)。


Transaction对象,用于执行事务处理。

3)使用注意事项


a.事务管理


在进行增删改操作时,必须得加上事务管理。原因是
因为Hibernate不会自动提交,需要显示的commit();


b.Session基本使用


添加操作:session.save(user);


删除操作:session.delete(user);


更新操作: session.update(user);


按主键查询: session.load(实体类型,主键值);


session.get(实体类型,主键值);


获取事务: session.beginTransaction();


执行HQL:


Query query = session.createQuery(hql);


//执行hql返回List


List<User> list = query.list();
//执行hql返回Iterator
Iterator<User> it = query.iterator();

public class HibernateUtil1 {
private static SessionFactory sf;
#####################################################################
static{
//加载Hibernate主配置及映射信息
Configuration conf = new Configuration();
//默认加载src目录下
conf.configure("/hibernate.cfg.xml");
//获取SessionFactory
sf = conf.buildSessionFactory();
}

public static Session getSession(){
// Session session = sf.openSession();
//获取当前线程使用的Session,如果没有再创建一个新的
Session session = sf.getCurrentSession();
return session;
}
}

猜你喜欢

转载自lydia-fly.iteye.com/blog/1632367