1.持久化 1.侠义概念:数据存储到物理存储介质中不会丢失。 2.广义概念:也就是对数据的Crud操作持久化。 3.加载:hibermate里的,数据从数据库加载到session2.逻辑模型ORM(object relation mapping):View->action->service->dao(和数据库打交道)(Hibermate/TopLink/EJB3.0/Mybatis)(Object)->DB(面向对象的编程)(JDBC驱动/代码重复太多)(Orcle/Mysql->relational DB) 1.通过对象的方式访问数据库(简单理解就是调用提供的接口)将对象和关系映射起来,直接操作数据库。通过Mapping(这种方式简单不易错 )比较容易开发 2.存在的问题:1.阻抗不匹配,对象和关系数据库不匹配,通过M来解决。忽略关系,考虑对象。 2.没有侵入型,在代码中不用去继承hibermate类或者实现hibermate提供接口。 3.hibermate 是一个ORM的轻量级框架(EJB),解决持久化的操作,使得程序员可以从反复编写的JDBC工作中解放出来,可以专注于我们的逻辑业务。提供程序员的开发效率。 4.移植性,高效,缓存。 3.object映射database通过hibermate(Hibermate.cfg.xml(验证), *.hbm.xml(对象映射关系))(类和表名映射)3.Hibername第一个程序: 1.下载资源:www.Hibermate.org 2.资源介绍:1.documentation 相关文档 2.lib相关架jar包 3.project里面有相关资源文件,模板文件,源码等等。4.搭建Hibermate环境 1.新建一个Java项目 2.导入相关资源jar包 3.编写相关的配置文件Hibermate.xml 文件 Hibermate映射对象 5.Hibermate.cfg.xml放入到src下6.1.创建数据库表以及对应的pojo对象public class User { private int id; private String name; private String pwd; public int getId(){ return id; } public void setId(int id){ this.id=id; } public String getName(){ return name; } public void setName(String name){ this.name=name; } public String getPwd(){ return pwd; } public void setPwd(String pwd){ this.pwd=pwd; }} 2.创建user数据库表7.编辑*.hbm.xml文件文件名一般为pojo类的名称User.hbm.xml放在pojo类所在的包下头文件可以在project下查找,也可拷贝。实体类属性的名称8.测试:将*.hbm.xml配置文件加入到hiernate.cfg.cml中来9.Configuration 管理读取配置文件详解 1.Configuration cfg=new Configuration ();//读取src下hibernate.properties 不推荐使用 2.Configuration在一个应用中,最好写一个。通过configuration来创建SessionFactory对象10.SessionFactory对象 1.是一个session工厂,是一个重量级的对象。在一个应用中最好也是单列的,是一个线程安全的。属于进程级别的对象 2.创建步骤 session对象使用hibernate进行数据操作,主要使用session。session可以理解为对connecting对象的一个包装。Session对象中提供了对数据库的crud操作。Session是一个线程不安全的对象。生命周期非常短暂,一般和事物一一对应。session又称为hiberna的一级缓存。Session又是transaction对象的工厂。11.Transation对象:事务管理对象。通过session来获取到该对象。包括了事物的开启事物的提交,事物的回滚。异常处理事物。12.Query对象:条件查询13.hibernate4日志log 1.确定要使用日志的实现loh4j 2.sif4japi.jar和log4的jar包放入classpath(sif4j-log4j.jar) 3.填写log4j.properties
Hibremate4 介绍
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 今天更新的概念是“多维度竞争”。类似于现在所说的斜杠技能,想到身边很厉害的人,比如彭小六,程序员中做到了不错的岗位...