明天开始学习 Hibernate】的更多相关文章

明天开始学 Hibernate ,想简单的了解一下 Hibernate,也借此机会了解一下 ORM 计划用 5 天的时间看完,包括整理笔记 加油吧,少年~~…
一.概念. Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库.既然学习Hibernate那么第一步就要学会如何配置hibernate环境.只有配置好环境才能进行hibernate项目的编写.下面我就为大家介绍如何配置Hibernate. 二.配置Hibernate步骤. 2.1添加jar包. 把hibernate-3.2.0.ga\hibernate-3.2\lib下的所有jar包加上. 2…
这篇博客是hibernate学习的第一篇,主要简介hibernate框架,之后简单说一下hibernate的文件夹结构,最后写一个简单的hibernate实例.通过这三步来简单的认识一下hibernate. 废话不多说,步入正题.首先简介一下hibernate框架,它是一种基于JDBC的主流持久化框架,是一个优秀的orm实现:它对JDBC进行了轻量级的封装,大大简化了数据訪问层繁杂的反复代码:并且它利用了java反射机制来实现程序的透明性:它的本意是从对象出发而非关系数据库出发,这一点也就是说明…
上篇博客写到了JDBC的基本操作,今天准备写一篇关于JAVA反射机制的文章,因为java的反射机制和上一篇JDBC都是Hibernate框架的基本要素.在Hibernate的运行机制中,这两块的内容正好是用来处理对象关系映射,所以这两篇博客是以后的学习的基础,非常重要. 反射机制的作用就是能够找到字段.方法和已加载类的构造函数的信息,并且能够应用反射域.方法和构造函数去操作各自的属性. 反射机制是java语言的非常重要的特性,它也是hibernate框架工作的核心机制,以前对个机制做过非常深入的…
上篇博客<深入浅出学习Hibernate框架(一):从实例入手初识Hibernate框架>简单介绍了一下Hibernate框架,并且举了一个实例来了解Hibernate.这篇博客将介绍JDBC的基本操作,说起这JDBC,大部分程序员是已经非常熟悉了,为了我的Hibernate学习的连载,所以在这篇要简单介绍一下JDBC的有关操作,因为这是Hibernate实现的基础,没有了JDBC也就没有了Hibernate框架,因为Hibernate框架是对JDBC做的高度封装.这篇博客主要介绍JDBC建立…
这个学期老师让我们做一个系统(服务器和客户端),语言自选,我也随大家开始学习java web 和android . 下面是我自学的一些体会和遇到的问题. 关于jar包. jsds.jar javasisst.jar 都需要添加.这两个包是由于微软的mssqlserver.jar mybase.jar  和Hibernate框架冲突. 关于.xml 切记,.hbm.xml  .cfg.xml的开始的那一部分是不一样的.就因为这个原因,我的第一个.hibernate 跑了两天都没出来... 关于  …
曾经学习java的时候,一開始就学习了hibernate,那时候总认为ssh很高大上,所以就急忙看了下相关视频.只是由于实际须要不高,所以后来一直没有使用上hibernate组件.如今一年过去了,也疯狂学习了java一段时间了,做过几个不大的项目,可是总算对java有些了解.如今參加了工作,公司使用的就是ssh,所以这两天又又一次開始捣鼓hibernate.这次学习直接使用editplus,直接开发.看了官网的demo,发现英语也没有想象中那么困难.哈哈,把自己的学习记录下来吧.这里主要记录三个…
Hibernate (开放源代码的对象关系映射框架) http://www.cnblogs.com/wenwen123/p/5658625.html 一. 1.新建 2.配置 <!-- hibernate-core --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.2.12…
HQL(Hibernate Query Language)Hibernate查询语言,语法类似于SQL,可以直接使用实体类及属性. 使用HQL 可以避免使用JDBC 查询的一些弊端 不需要再编写繁复的SQL 语句,针对实体类及其属性进行查询 查询结果是直接存放在List 中的对象,不需要再次封装 独立于数据库,对不同的数据库根据Hibernate dialect 属性的配置自动生成不同的SQL 语句执行 一.语法: select/update/delete……] from Entity [whe…
1.在@Entity时很容易顺手导入@org.hibernate.annotations.Entity这个包,结果导致了异常.其实应该导入的是@javax.persistence.Entity Always import @javax.persistence.Entity @org.hibernate.annotations.Entity是@javax.persistence.Entity的一个补充,但不是后者的替代品 如果import @org.hibernate.annotations.En…
Hibernate的缓存分为三种:一级缓存.二级缓存.查询缓存.下面我就为大家介绍一下. 一.概念. 一级缓存:第一级存放于session中称为一级缓存.Session 级别的缓存,它同session邦定.它的生命周期和session相同.Session消毁,它也同时消毁:管理一级缓存,一级缓存无法取消,用两个方法管理,clear(),evict().两个session 不能共享一级缓存,因它会伴随session的生命周期的创建和消毁:Session缓存是实体级别的缓存,就是只有在查询对象级别的…
Hibernate中的关系映射,最常见的关系映射之一就是多对多关系映射例如用户与角色的关系,一个用户对应多个角色,一个角色对应多个用户.如图: Hibernate中如何来映射这两个的关系呢? 下面就为大家讲解一下: 1.创建实体类User和实体类Role User.java package com.bjpowernode.hibernate; import java.util.Set; public class User { private int id; private String name…
Hibernate中的关系映射,最常见的关系映射之一就是一对多关系映射例如学生与班级的关系,一个班级对应多个学生.如图: Hibernate中如何来映射这两个的关系呢? 下面就为大家讲解一下: 1.创建实体类Classes和实体类Student Classes.java package com.bjpowernode.hibernate; import java.util.Set; public class Classes { private int id; private String nam…
上篇博客利用Hibernate搭建起一个简单的例子,把数据库的映射显示了出来在上一篇的博客基础上这篇博客讲述如何利用Hinbernate框架实现简单的数据库操作. 1.加入junit.jar 2.新建一个工具类HibernateUtils.Java把一些对session的公共操作封装起来 import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration…
一.Hibernate开发. 上篇博客已经为大家介绍了持久层框架的发展流程,持久层框架的种类. 为了能够使用Hibernate快速上手,我们先讲解一个简单的Hibernate应用实例hibernate_first. 二.开发流程. 1.首先在MyEclipce中新建一个hibernate_first的项目,然后新建后的项目目录为: 2.配置Hibernate环境. 3.编写持久化类User.java package com.bjpowernode.hibernate; import java.u…
一.Java操作数据库的阶段. Java对数据库进行操作经历了三个阶段. 1.1操作JDBC阶段 这个阶段就是利用JDBC类来操作数据库.这个阶段出现了两个问题: 代码过度重复:在每一次数据库操作的是后都要编写相似的代码.实际上每一次这些代码有的是只是SQL语句改变但是还是得写一遍.让我想起第一次用.NET做机房收费系统的时候就写查询的时候除了SQL语句不一样以外其他都一样. 不能突出业务:整个代码都是数据库处理的代码,体现不出业务操作逻辑. 1.2封装JDBC阶段 这个阶段其实就是像.NET一…
部分博客使用Hibernate单的样例,把数据库的映射显示了出来在上一篇的博客基础上这篇博客讲述怎样利用Hinbernate框架实现简单的数据库操作. 1.增加junit.jar 2.新建一个工具类HibernateUtils.Java把一些对session的公共操作封装起来 import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; publ…
Unix命令行程序和内建指令(百度百科) 将less编译成css的gulp插件 淘宝cnpm镜像 gulp教程之gulp-less gulp入门指南 查找npm的package.json的name配置项中拟设置的name是否重名 npm package.json属性详解[桃子哥] 搞明白各种license 明天接着看 新手应该如何入门前端 豪情前辈 张鑫旭前辈  叶小钗前辈 高扬的小站  简书 segmentfault 前端乱炖 手把手教你如何使用webpack+react…
一个.Hibernate开发. 上篇博客已经为大家介绍了持久层框架的发展流程,持久层框架的种类. 为了可以使用Hibernate高速上手,我们先解说一个简单的Hibernate应用实例hibernate_first. 二.开发流程. 1.首先在MyEclipce中新建一个hibernate_first的项目,然后新建后的项目文件夹为: 2.配置Hibernate环境. 3.编写持久化类User.java package com.bjpowernode.hibernate; import java…
在正式说hibernate延迟加载时,先说说一个比较奇怪的现象吧:hibernate中,在many-to-one时,如果我们设置了延迟加载,会发现我们在eclipse的调试框中查看one对应对象时,它的内部成员变量全是null的(因为这个原因我还调了好久的代码!),贴张图给你们感受下: 左边是设置延迟加载的调试图,右边是没设置延迟加载的示意图:                   ok,估计大家也理解我说什么了,下面就从这个现象进作为入口,阐述hibernate延迟加载背后的原理----动态代理…
一 Hibernate的介绍 1 让我们从JDBC与替代它的框架Hibernate进行一下对比. 1.1 JDBC的缺点 1) 代码结构繁琐.每次书写sql语句操作数据库都得需要很多步; 2) 是面向过程的编程,而非面向对象的: 3) 没有做到数据缓存.这会导致程序与数据库的交互的次数很多: 4) 因为事务是自动开启的,所以存在安全隐患. 1.2 JDBC的优点 1) 因为是底层的数据库操作,所以执行效率很高: 2) sql语句可以自己编写,可以进行优化从而选择效率最高的那些. 1.3 Hibe…
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersi…
1.初始数据 @Test public void test01() { Session session = null; try { session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); for (int i = 0; i < 100; i++) { book entity = new book(); entity.setBookCode("book-code-"…
参考: http://docs.jboss.org/hibernate/annotations/3.4/reference/zh_cn/html_single/ 1.系统配置: 可以通过使用  mapping的 resource,于class 属性混合配置 <mapping resource="com/rhythmk/model/product.hbm.xml" /> <mapping class="com.rhythmk.model.User"&…
1.One To One 单相 背景: 古代一个老婆  只能关联一个老公 husband.java package com.rhythmk.model; public class husband { public Integer getHusbandId() { return husbandId; } public void setHusbandId(Integer husbandId) { this.husbandId = husbandId; } public String getName(…
1.项目结构: 1.1.场景说明: 一个订单,包含多个产品 1.2.类文件: Order.java package com.rhythmk.model; import java.util.Date; public class Order { public int getOrderID() { return orderID; } public void setOrderID(int orderID) { this.orderID = orderID; } public String getName…
1.安装JBoos Tool Help -> Install new Software 然后添加: http://download.jboss.org/jbosstools/updates/development http://download.jboss.org/jbosstools/updates/stable/ 稍等一刻,选择 Hibernate tool 下一步 ,完成后重启Eclipse即可. 2.项目配置文件生成: 2.1 新建一项目,项目右键生成相关配置 然后如图: 2.2 此处需…
Hibernate 加载数据 有get,跟Load 1.懒加载: 使用session.load(type,id)获取对象,并不读取数据库,只有在使用返回对象值才正真去查询数据库. @Test public void test1() { Session session = null; try { session = HibernateUtil.getSessionFactory().openSession(); User user=(User)session.load(User.class, 13…
by:rhythmk.cnblogs.com 1.Hibernate 三种状态: 1.1.三种定义(个人理解,不一定准确):  瞬时状态(transient):    不被session接管,且不存在数据库中的对象的状态,类似于新New一个对象  离线状态 (detached):    数据库中存在而不被session接管  持久化状态(persistent): 对象被session管理且数据库中存在此对象 1.2. 状态之间转换关系图 2 .状态转换以及Hibernate数据库执行过程详解:…
1.环境: Maven :3.1.1 开发工具:Spring Tool Suite 数据库 : Mysql  5.6 2.项目文件结构 文件代码: 2.1 .pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.ap…