![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hibernate
bighuan
哈哈哈哈哈哈!
展开
-
Hibernate之复合主键映射
一,概述复合主键也是开发中经常遇到的需求,这篇博客就是关于复合主键映射,开始吧!二,实体类准备1)复合主键类package com.bighuan.d_compositeKey;import java.io.Serializable;/** * 复合主键类:用户名和地址唯一标识一条记录 * * @author bighuan * */public class原创 2017-05-02 10:54:18 · 676 阅读 · 0 评论 -
Struts与Hibernate整合完成一个小案例
一,概述1)终于将Struts与Hibernate学习完了,现在就同时在一个web项目中完成一个简单小案例的开发!2)在前面博客中已经介绍了怎样导入项目必须的jar包及环境的配置,就不再赘述,直接进入主题吧!二,开发1)实体及映射文件准备a)Dept.javapackage com.bighuan.entity;import java.util.HashSet;imp原创 2017-05-04 16:14:08 · 3522 阅读 · 3 评论 -
Hibernate之session的管理方式
一,概述Hibernate的session其实在内部维护了一条数据库连接,如果每次通过如下方式获取session,那么每次都要创建一个新的session,使用完之后还要记得关闭session,否则就造成资源浪费.private static SessionFactory sf=new Configuration().configure().buildSessionFactory();S原创 2017-05-04 11:47:29 · 421 阅读 · 0 评论 -
Hibernate之二级缓存
一,概述1)Hibernate提供的缓存: 有一级缓存、二级缓存. 目的是为了减少对数据库的访问次数,提升程序执行效率!2)一级缓存:基于Session的缓存,缓存内容只在当前session有效,session关闭,缓存内容失效!特点:作用范围较小! 缓存的时间断, 缓存效果不明显!3)二级缓存: Hibernate提供了基于应用程序级别的缓存, 可以跨多个session,即不同的原创 2017-05-04 11:16:22 · 273 阅读 · 0 评论 -
Hibernate之连接池配置
一,概述1)之前在一篇博客里介绍了C3P0连接池组件的用法,现在学习Hibernate,又与连接池见面了.连接池的作用就是管理连接,提升连接的利用效率.2)Hibernate自带的也有一个连接池,只维护了一个连接,比较简陋.在hibernate.properties可以查看得到hibernate自维护的连接池:####################################原创 2017-05-04 10:24:41 · 4208 阅读 · 0 评论 -
Hibernate之分页查询
1)要点:先查询总记录数,再分页查询2)代码package com.bighuan.a_query;import org.hibernate.Criteria;import org.hibernate.Query;import org.hibernate.ScrollableResults;import org.hibernate.Session;import org.hibe原创 2017-05-04 10:22:31 · 406 阅读 · 0 评论 -
Hibernate之查询
一,概述1)get/load主键查询2)对象导航查询3)HQL(Hibernate Query Language)查询,Hibernate提供的面向对象的查询语言4)Criteria查询,完全面向对象(Query By Criteria)5)SQLQuery查询,本地SQL查询.缺点:不能跨数据库平台,如果更改了数据库,SQL语句可能要改.使用场景:对于复杂SQL,HQL实现不原创 2017-05-04 09:33:38 · 369 阅读 · 0 评论 -
Hibernate之继承映射
一,概述继承关系对应的映射就叫做继承映射.继承映射有好多种解决方案:a.简单继承映射:有多少个子类就写多少个映射文件.b.所有子类映射到一张表,适用情况:子类教多,且子类较为简单,即只有个别属性!(通过一个特殊字段作为鉴别器区分是什么类对应的数据)好处:因为使用一个映射文件, 减少了映射文件的个数.缺点:不符合数据库设计原则.c.每个类映射一张表:一个映射文件,存储所有的子原创 2017-05-03 22:31:58 · 291 阅读 · 0 评论 -
Hibernate之组件映射
一,概述1)一个类中包含另一个类(车与轮子),这两个类就是组合关系.2)类组合关系的映射,也称为组件映射.3)组件类和被包含的组件类,共同映射到同一张表.4)需求:车与轮子.二,JavaBean设计1)Car.javapackage com.bighuan.d_component;public class Car { private int id; priva原创 2017-05-03 22:18:19 · 225 阅读 · 0 评论 -
Hibernate之懒加载
一,懒加载1)概念:当用到数据 的时候才向数据库查询,这就是hibernate的懒加载特性. 目的:提供程序执行效率!2,lazy 值1) true 使用懒加载(默认使用懒加载,即lazy值默认就是true); ...<set name="emps" cascade="save-update,delete" inverse="false"原创 2017-05-11 23:00:40 · 331 阅读 · 0 评论 -
Hibernate之一级缓存
一,概述Hibernate中有一级缓存与二级缓存之分,一级缓存也叫session缓存.使用缓存的目的是为了减少对数据库的访问次数,从而提升Hibernate的执行效率!二,Hibernate中对象的状态1)Hibernate中对象的状态:临时/瞬时状态 持久化状态 游离状态2)临时状态特点:直接new出来的对象,不处于session的管理,数据库中没有对应的记录.3)持久化原创 2017-05-02 23:02:05 · 227 阅读 · 0 评论 -
Hibernate之一对一映射
一,概述前面几篇博客写了一对多 多对多等常见的映射,今天就来写关于一对一映射吧!现实生活中,人与身份信息就是一对一映射.二,JavaBean设计1)User.javapackage com.bighuan.c_one2one;public class User { private int userId; private String userName; private原创 2017-05-03 21:32:47 · 271 阅读 · 0 评论 -
Hibernate之一对多与多对一映射
一,概述需求:员工与部门,一个部门有多个员工,多个员工可以在同一个部门,这是典型的一对多与多对一关系.这种关系在Hibernate中怎样映射呢?(Hibernate中这种映射叫关联映射)二,设计JavaBean1)部门package com.bighuan.b_one2many;import java.util.HashSet;import java.util.Set;原创 2017-05-02 13:51:12 · 287 阅读 · 0 评论 -
Hibernate之多对多映射
一,概述在开发中,表与表之间的多对多关系是挺常见的,也比较复杂.这篇博客就是关于Hibernate如何通过映射文件来生成多对多关系对应的三张表.需求:项目与开发人员,一个项目由多个开发人员开发,开发人员可以参与多个项目的开发,这是典型的多对多关系.二,JavaBean设计1)项目package com.bighuan.c_many2many;import java.util.H原创 2017-05-02 21:59:09 · 294 阅读 · 0 评论 -
Hibernate之主键生成策略
一,概述在Hibernate的映射文件中可以通过来指定主键的生成策略,不同的主键生成策略还是有一些区别的,有时为了需求,还得指定特定的主键生成策略,方便开发.二,关于主键1)一个表能否有多个主键?为什么要设置主键?不能;数据库存储的数据都是有效的,必须保持每张表的每条记录唯一!2)为什么通常喜欢将id设置为主键?因为表中通常找不到合适的列作为作为唯一列即主键,所以为了标识方原创 2017-05-02 10:16:42 · 354 阅读 · 0 评论 -
Hibernate之集合映射
一,概述需求:用户购买,填写地址.分析:一个用户是可以有多个地址的,那怎样映射比较好呢?当然是集合映射了.(这概述写的好差劲!!!)二,JavaBean及映射文件设计1)JavaBean设计public class User { public User() { } private int userId; private Strin原创 2017-05-02 11:20:21 · 201 阅读 · 0 评论 -
Hibernate框架入门
一,概述既然是学习Hibernate,那肯定要先了解ORM了.ORM(Object Relational Mapping),中文翻译为对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的程序技术.ORM技术主要就是为了解决两个问题,一是将对象的数据直接保存到数据库,二是直接从数据库拿到一个对象.但是如何解决呢?当然是映射了.Hibernate就是ORM的一种实现.二,Hi原创 2017-04-25 17:54:24 · 275 阅读 · 0 评论