Hibernate 框架简单解说】的更多相关文章

Hibernate框架简单应用 Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层.它通过配置文件(hibernate.properties或hibernate.cfg.xml)和映射文件(***.hbm.xml)把JAVA对象或PO(Persistent Object,持久化对象)映射到数据库中的数据库,然后通过操作PO,对数据表中的数据进行增,删,改,查等操作.除配置文件,映射文件和持久化类外,Hibernate的核心组件包…
Demo.java package com.itheima.test; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.junit.Test; import com.itheima.domain.Customer; /** * 测试Hibern…
1.配置文件: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.…
一.Hibernate:是一个开放源代码的对象关系映射框架,对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,用于Java代码和数据库之间的交互. 1.核心:Java和数据库之间的映射关系. 2.hibernate的缓存: a).一级缓存:hibernate首次查询之后会将查询结果存放在一级缓存中,第二次查询的时候会直接从缓存中获取数据,如果缓存中没有采去查询数据库.hibernate自带一级缓…
快速理解: HttpSession中的session是一个容器用来盛基于会话机制的信息. 比喻:我把钱放进银行的保险柜里. 解析:我的钱就是我的信息,ID等 银行的保险柜就是session容器. Hibernate中的session是一个工具,用来操作数据库增删改查等,可以认为是一个持久化管理器. 比喻:我从东风货车生产商买了一辆货车,用这辆车操作张三家的钱,对钱进行操作,移除.添加等. 解析:货车生产商比喻为hibernate框架,货车是session ,张三家为数据库,钱便是信息,sessi…
1.什么是框架 框架是一个半成品,框架帮我们实现了一部分的功能. 2.使用框架的最大好处 使用框架的最大好处就是,少写一部分代码但仍能实现我们所需要实现的功能. 3.什么是hiberbnate框架 (1)hibernate框架应用在javaEE三层结构中的dao层框架 (2)hibernate底层的代码就是jdbc,hibernate就是对jdbc的封装,使用hibernate就不需要写jdbc复杂的代码了,而且可以不写sql语句,就能实现对数据库的基本的,增,删,改,查. (3)hiberna…
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <…
写好一篇博客,不是容易的事.原因是:你要给自己以后看的时候,还能看懂,最重要的是当别人看到你的博客文章的时候,也一样很清楚的明白你自己写的东西.其实这也是一种成就感!! 对于每一个知识点,要有必要的解释 语言及真实的代码. 今天呢,我就详细的写着 Hibernate框架的一种检索方式:Criteria查询.下面我写的这些案例,可能对于大牛没有什么好看的,但是对于初学者来说,却是一笔财富. 首先我们要知道的检索方式:  Hibernate框架提供了5种检索对象的方式      1.导航对象图检索方…
引导目录: Hibernate 系列教程 目录 本篇导航: 为什么学习框架技术 框架的概念 主流框架的介绍 1.为什么学习框架技术 如何制作一份看上去具有专业水准的PPT文档呢?一个简单的方法就是使用Microsoft PowerPoint的模板功能,如图: 使用模板新建出来的文档已经有了一个PPT的“架子”,我们字需要把必要的信息像“填空题”一样填写进去就可以了,如图: 思考一下,使用PPT模板制作PPT有那些好处? 使用PPT模板制作文档的有点如下: (1)不用考虑布局.排版等问题,提高了效…
一.综述 hibernate中的对象有三种状态,分别是TransientObjects(瞬时对象).PersistentObjects(持久化对象)和DetachedObjects(托管对象也叫做离线对象). 二.Hibernate对象三种状态转化图: 三.Hibernate对象三种状态简介及转化条件: (1)临时状态: 由Java的new命令开辟内存空间的java对象也就是普通的java对象,如果没有变量引用它它将会被JVM收回.简单的说就是程序里面new一个对象,还没有和session关联…
(一)发展历史 在Struts框架中使用jdbc连接来读写数据库,我们最常见的就是打开数据库连接.使用复杂的sql语句进行读写.关闭连接,获得的数据又需要转换或封装后往外传,这是一个非常繁琐的过程. 这时出现了Hibernate框架,它需要你创建一系列的持久化类,每个类的属性都可以简单的看做和一张数据库表的属性一一对应,当然也可以实现关系数据库的各种表件关联的对应.当我们需要相关操作时,不再关注数据库表.我们不用再去一行行的查询数据库,只需要持久化类就可以完成增删改查的功能.使我们的软件开发真正…
    作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编写重复的JDBC代码,不再反复的测试我们的SQL语句写的如何.这里这需要我们简单配置,调用框架给我们提供的方法,就可以完成对数据增删改查的,那么Hibernate到底是个什么样的框架呢?如何使用呢?先看一个关于Hibernate框架的知识体系图: Hibernate有什么好处? :一.Hiberna…
都说Hibernate框架的使用可以很容易的让你的研发平台支持多种不同类型的数据库,但实践表明,这里的“容易”,是相对的. 想让研发平台支持多种数据库,并不是一件简单的事,也可以这么说:并不是只要使用了Hibernate框架就能实现的. 下面记录一下我做这件事情的过程和一些感悟. 当我接到该任务时,我先大致的理了一下思路: 要完成迁移,总体上有2大块工作要做,分别是:数据库层面的迁移  和  平台底层代码的改造 一.数据库层面的迁移过程: 1.通过sqlServer Studio2008 工具将…
ORM对象/关系数据库映射 ORM全称Object/Relation Mapping,对象/关系数据库映射,可以理解成一种规范.该框架的基本特征:完成面向对象的编程语言到关系数据库之间的映射. ORM关系型数据库包装成面向对象的模型. ORM框架由 实体+XML配置文件(如下图所示)…
既然用Hibernate框架访问管理持久层,那为何又提到用Spring来管理以及整合Hibernate呢?把SessionFactory,Session,Transcational封装成包含crud的工具类并且处理了事务,那不是用不着spring了? Hibernate操作的步骤如下: 1. 获得Configuration对象 2. 创建SessionFactory 3. 创建Session 4. 打开事务 5. 进行持久化操作.比如上面的添加用户操作 6. 提交事务 7. 发生异常,回滚事务…
任何一项新技术的出现都有它的必然性,Hibernate也不例外,所以在掌握Hibernate的具体应用之前我们一定先要了解Hibernate是什么?使用Hibernate会给我们的程序开发带来哪些好处?使用Hibernate的好处简单来讲体现在以下几个方面: 1. Hibernate说白了就是对持久层进行的封装,它简化了对数据库的操作,使得我们可以以对象方式直接访问数据库中的数据.实现了完全的OO思想. 2. 另外由于Hibernate对JDBC的彻底封装,使得我们可以不用在程序中写传统的sql…
在网上的资料很多,但是成功搭建一个Hibernate框架的很少,下面我将用一个简单的例子成功搭建一个Hibernate框架给大伙瞧瞧 该链接中有源代码和数据库,例子很简单,只是往数据库中的person表里面添加一组数据,链接:http://pan.baidu.com/s/1c0q8UZ2 密码:108m 也可以在我的github中下载,喜欢的话fork一下吧!https://github.com/zzzzw 在eclipse中配置Hibernate开发框架,本连接使用的数据库是MySQL 图一…
这里是个人对SSH框架搭建的一点心得,仅供新手,勿喷 首先,搞清楚分层, 视图层 --> 控制层  --> 业务层 --> DAO层--> 持久层 搭建的顺序是从后向前,搭建一点测试一点,免得都最后找错误太过于繁琐 先搭建持久层,这里是hibernate框架接管 1.建立javaBean对象(ElecText.jvav)   属于持久层对象(PO对象)   属性ID.名称.日期.备注2.创建映射文件ElecText.hbm.xml   建立PO对象与数据库表Elec_Text的关联…
作为SSH三大框架之一的Hibernate,是用来把程序的Dao层和数据库打交道用的,它封装了JDBC的步骤,是我们对数据库的操作更加简单,更加快捷.利用Hibernate框架我们就可以不再编写重复的JDBC代码,不再反复的测试我们的SQL语句写的如何.这里这需要我们简单配置,调用框架给我们提供的方法,就可以完成对数据增删改查的,那么Hibernate到底是个什么样的框架呢?如何使用呢?先看一个关于Hibernate框架的知识体系图:  这篇博客,我们来总结一下,Hibernate宏观的认识和,…
这篇博客是hibernate学习的第一篇,主要简介hibernate框架,之后简单说一下hibernate的文件夹结构,最后写一个简单的hibernate实例.通过这三步来简单的认识一下hibernate. 废话不多说,步入正题.首先简介一下hibernate框架,它是一种基于JDBC的主流持久化框架,是一个优秀的orm实现:它对JDBC进行了轻量级的封装,大大简化了数据訪问层繁杂的反复代码:并且它利用了java反射机制来实现程序的透明性:它的本意是从对象出发而非关系数据库出发,这一点也就是说明…
Hibernate框架核心组件 在Hibernate框架简述中,演示了一个简单的Hibernate应用,但并没有深入说明其中程序,在这篇中将比较详细的介绍一下Hibernate的核心组件.首先最关键一点就是Hibernate的配置文件,如果仔细看过我前面的笔记构建一个简单的基于MVC模式的JavaWeb ,我们可以大概知道hibernate的配置文件就相当于构建一个简单的基于MVC模式的JavaWeb 一文中的db.properties文件,当时我们在db.properties文件中设置了连接数…
导读 本文主要介绍hibernate的入门,主要包括以下内容:hibernate介绍.hibernate环境搭建.hibernate简单测试.测试涉及的api详解. 一.hibernate介绍 JDBC是Java操作数据库的工具,我们可以使用jdbc来书写并执行sql语句来操作数据库,对于普通的业务,jdbc工具是完全可以胜任的,但但当任务复杂,特别是数据库中表格很多的时候,jdbc就会显得力不从心,代码复用率低且sql语句容易出错. Hibernate框架从jdbc面向过程操作数据库的过程转变…
导读 前面一片文章介绍了Hibernate框架的入门,主要是讲解Hibernate的环境搭建和简单测试,有兴趣的童鞋出门左转.本文在入门的基础上进行Hibernate的进阶讲解,分为上中下三篇,本篇为上篇,该篇主要以讲解hibernate原理为主.主要内容包括:一.hibernate中的实体创建规则 二.hibernate主键生成策略(7种) 三.hibernate对象的三种状态 四.hibernate中的缓存 五.事务管理 六.Hibernate支持的三种数据库操作语法:HQL.Criteri…
导读 Hibernate进阶篇分为上中下三篇,本文为最后一篇,主要内容是Hibernate框架的查询,主要包括hql语句查询,criteria查询以及查询策略的选择. 知识框架 Hibernate查询 一.查询方式:hql语言.criteria接口和sql语言. hql语言和criteria都是面向对象的查询方式,但最终都是要转换为sql语言执行的. 1.hql语言 1)简单查询 2)条件查询 3)排序查询 4)分页查询 5)统计查询 6)投影查询 2.criteria 1)简单查询 2)条件查…
MySQL的事务.JDBC事务操作: 详细见这篇文章:比较详细 http://www.cnblogs.com/xuyiqing/p/8430214.html 如何在hibernate中配置隔离级别: 再核心配置文件中: <!-- 指定hibernate操作数据库时的隔离级别 #hibernate.connection.isolation 1|2|4|8 0001 1 读未提交 0010 2 读已提交 0100 4 可重复读 1000 8 串行化 --> <property name=&q…
Configuration对象: package api; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.junit.Test; //学习Configuration对象 // Configuration功能: 配置加载类.用于加载主配置,orm元数据加载 public class Demo { @Test public void fun1(){ //1 创建,调用空参…
一.JavaEE开发三层结构和三大框架的对应关系: Struts2框架 -> 表现层 web层(MVC是表现层的设计模型) 业务层 service层 Hibernate框架 -> 持久层 dao层 Spring框架 ->综合类框架 二.持久层技术有哪些: JDBC:操作数据库最底层的方式 优势:底层.效率高 弊端:编写代码时比较繁琐,尤其是封装结果集 DBUtils:基于JDBC进行了简单封装 优势:封装结果集操作变得简单,并且仍然是自己编写SQL语句,相对效率没有太大影响 弊端:要求实…
一.Hibernate持久化类的编写规范 1.什么是持久化类 Hibernate是持久层的ORM影射框架,专注于数据的持久化工作.所谓持久化,就是将内存中的数据永久存储到关系型数据库中.那么知道了什么是持久化,什么又是持久化类呢?其实所谓的持久化类指的是一个Java类与数据库表建立了映射关系,那么这个类称为是持寺久化类.其实可以简单的理解为持久化类就是一个Java类有了一个映射文件与数据库的表建立了关系.那么我们在编写持久化类的时候有哪些要求呢?接下来我们来看一下: 2.持久化类的编写规则(应该…
一.表关系的分析 Hibernate框架实现了ORM的思想,将关系数据库中表的数据映射成对象,使开发人员把对数据库的操作转化为对对象的操作,Hibernate的关联关系映射主要包括多表的映射配置.数据的增加.删除等. 数据库中多表之间存在着三种关系,也就是系统设计中的三种实体关系.如图所示. 从图可以看出,系统设计的三种实体关系分别为:多对多.一对多和一对一关系.在数据库中实体表之间的关系映射是采用外键来描述的,具体如下. 1.1 表与表的三种关系 ●  一对多 建表原则:再多的一方创建外键指向…