
Hibernate
CoolTomato_
一个会写代码的番茄
展开
-
SSH框架之Hibernate的多种查询方式概述
Hibernate的多种查询方式 一、HQL查询: HQL查询与SQL查询区别: 1)SQL: (结构化查询语句)查询的是表以及字段; 不区分大小写。 2)HQL: hibernate query language 即hibernate提供的面向对象的查询语言。查询的是对象以及对象的属性,区分大小写。 二、Criteria查询:完全面向对象的查询。原创 2016-12-16 00:15:37 · 2945 阅读 · 0 评论 -
SSH框架之Hibernate的List集合映射、数组映射、List集合的数据保存
一、List集合映射 1、数据库设计: 2、代码实现 1)javabean:User.java 2)User.hbm.xml: 3)测试类:App.java 3、结果: 1)t_user表: 2)t_addresslist表:原创 2016-12-19 00:23:17 · 4670 阅读 · 0 评论 -
SSH框架之Hibernate的程序执行流程、Set集合映射、Set集合的数据保存
一、Hibernate程序执行流程: 二、Set集合映射 1、开发流程: 需求分析/数据库设计、项目设计/ 编码/测试/实施部署上线/验收2、需求: 用户购买, 填写地址!3、数据库设计: 4、代码实现: 1)javabean:User.java 2)User.hbm.xml 3)测试类:App.java原创 2016-12-17 13:46:10 · 909 阅读 · 0 评论 -
SSH框架之Hibernate的查询详解(1)、debug断点调试
一、查询概述 1、Get/load主键查询 2、对象导航查询 3、HQL查询,Hibernate Query language hibernate 提供的面向对象的查询语言。 4、Criteria 查询,完全面向对象的查询(Query By Criteria ,QBC) 5、SQLQuery, 本地SQL查询 1)缺点:不能跨数据库平台: 如果该了数据库,sql语句有可能要改。原创 2016-12-29 09:23:18 · 2214 阅读 · 0 评论 -
SSH框架之Hibernate的Criteria 查询、本地SQL查询、分页查询
一、Criteria 查询 二、SQLQuery, 本地SQL查询 三、分页查询 1、代码:package sram.query;import java.util.List;import org.hibernate.Criteria;import org.hibernate.Hibernate;import org.hibernate.Query;原创 2016-12-29 13:49:33 · 1997 阅读 · 0 评论 -
SSH框架之Hibernate的对连接池的支持
hibernate对连接池的支持 一、连接池 1、作用: 管理连接;提升连接的利用效率! 2、常用的连接池: C3P0连接池、DBCP、Tomcat自带连接池 3、Hibernate 自带的也有一个连接池,且对C3P0连接池也有支持(但并不是完全支持)!二、Hbm 自带连接池:只维护一个连接,比较简陋。 可以查看hibernate.properties文件查看连接池详细配置:原创 2016-12-29 14:10:17 · 1794 阅读 · 1 评论 -
SSH框架之Hibernate的二级缓存
二级缓存 一、引入 1、Hibernate提供的缓存 有一级缓存、二级缓存。 目的是为了减少对数据库的访问次数,提升程序执行效率!2、一级缓存: 1)基于Session的缓存,缓存内容只在当前session有效,session关闭,缓存内容失效! 2)特点: a)作用范围较小! 缓存的时间短。 b)缓存效果不明显。二、概述原创 2016-12-29 15:02:18 · 1435 阅读 · 0 评论 -
SSH框架之Hibernate的集合缓存、查询缓存、项目中的session管理方式
一、集合缓存 1、不使用集合缓存: 2、使用集合缓存: 1)配置hibernate.cfg.xml 2)测试: 二、补充二级缓存、集合缓存配置 三、查询缓存 list() 默认情况只会放入缓存,不会从一级缓存中取! 使用查询缓存,可以让list()查询从二级缓存中取! 1、配置hibernate.cfg.xml 2、测试类 四、项目中的session管理方式原创 2016-12-29 16:55:58 · 2161 阅读 · 0 评论 -
SSH框架之Hibernate的查询详解(2)、hql查询优化
一、Hibernate的查询详解 6、连接查询 1)内连接: Debug调试分析: 2)外连接: Debug调试分析: 3)迫切连接: Debug调试分析: 二、HQL查询优化 1、实例一: 2、实例二: 完整的HQL查询代码已经上传资源!原创 2016-12-29 12:00:00 · 617 阅读 · 0 评论 -
SSH框架之Hibernate的关联映射之一对多、多对一映射
关联映射之一对多、多对一映射一、需求: 部门与员工 一个部门有多个员工 【一对多】 多个员工,属于一个部门 【多对一】二、逻辑分析: 三、代码实现 1、javabean及映射文件的配置: 1)Employee.java、Employee.hbm.xml 2)Dept.java、Dept.hbm.xml原创 2016-12-19 11:37:53 · 10845 阅读 · 0 评论 -
SSH框架之Hibernate的inverse属性、cascade级联操作
一、inverse属性 1、Inverse属性,是在维护关联关系的时候起作用的。 表示控制权是否转移。(只在一的一方起作用(本例中为Dept),多的一方无法使用)<!-- Dept.hbm.xml inverse=false set集合映射的默认值,表示有控制权--> <set name="emps" inverse="false">原创 2016-12-20 15:23:54 · 1725 阅读 · 0 评论 -
SSH框架之Hibernate的多对多映射、多对多关联关系维护(inverse)
一、Hibernate的多对多映射 1、需求: 2、代码实现: 1)javabeans以及映射文件的配置 a)Project.java、Project.hbm.xml b)Developer.java、Developer.hbm.xml 2)测试类App1_save.javapackage sram.manyToMany;import org.hibernate.Session;原创 2016-12-20 16:01:31 · 1637 阅读 · 0 评论 -
SSH框架之Hibernate的Map集合映射、Map集合数据的保存、集合数据的获取
一、Map集合映射 1、数据库设计: 2、实现代码: 1)javabean:User.java 2)User.hbm.xml 3)测试类:App.java 3、结果: 1)t_user表: 2)t_addressmap表: 二、集合数据的获取:原创 2016-12-19 00:54:52 · 2742 阅读 · 0 评论 -
SSH框架之Hibernate的继承映射的形式二(三张表)
Hibernate的继承映射的形式二(三张表) 1、javabean的设计: javabean的设计和形式一完全相同,Animal.java、Cat.java、Monkey.java代码不变。2、Animal.hbm.xml 3、测试类App.java代码也不变 4、数据库生成表结构: 5、总结: 1)特点:一个映射文件,存储所有的子类; 子类父类都对应表。原创 2016-12-24 15:56:10 · 404 阅读 · 0 评论 -
SSH框架之Hibernate的curd概述综合案例
curd概述综合案例完整代码: 一、Employee.javapackage sram.hello;import java.util.Date;//一、对象public class Employee { private int empId; private String empName;原创 2016-12-16 16:00:14 · 714 阅读 · 0 评论 -
SSH框架之Hibernate的API详解
Hibernate的Api 一、Configuration 配置管理类对象 1、config.configure(); 加载主配置文件的方法(hibernate.cfg.xml) 默认加载src/hibernate.cfg.xml 2、config.configure(“cn/config/hibernate.cfg.xml”); 加载指定路径下指定名称的主配置文件原创 2016-12-15 19:23:12 · 967 阅读 · 0 评论 -
SSH框架之Hibernate的主配置文件
Hibernate的主配置文件:Hibernate.cfg.xml 解析:一、主配置文件中主要配置:数据库连接信息、其他参数、映射信息!二、常用配置查看源码: hibernate-distribution-3.6.0.Final\project\etc\hibernate.properties三、数据库连接参数配置原创 2016-12-16 22:25:34 · 568 阅读 · 0 评论 -
SSH框架之Hibernate的映射配置
映射配置: 一、普通字段映射<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><!-- 映射文件:映射一个实体类对象原创 2016-12-17 00:23:31 · 1546 阅读 · 0 评论 -
SSH框架之Hibernate的对象状态、一级缓存
一、Hibernate的对象状态 1、Hibernate中对象的状态: 临时/瞬时状态、持久化状态、游离状态。1)临时状态特点: a)直接new出来的对象。 b)不处于session的管理 c)数据库中没有对象的记录。2)持久化状态特点: a)当调用session的save/saveOrUpdate/get/load/list等方法的时候,对象就是持久化状态。原创 2016-12-21 10:20:36 · 876 阅读 · 0 评论 -
SSH框架之Hibernate的关于session缓存面试题
Hibenate中一级缓存,也叫做session的缓存!一、面试题1: 不同的session是否会共享缓存数据? 1、代码分析: 2、分析: 不会,因为生成2条update的sql语句, 说明不同的session使用不同的缓存区,不能共享。二、面试题2: iterator与list查询的区别? 1、Iterator 1)N+1查询:N表示所有的记录总数原创 2016-12-21 13:22:12 · 2236 阅读 · 0 评论 -
SSH框架之Hibernate的懒加载
一、面试题: get、load方法区别? 1、get(): 1)get:及时加载,只要调用get方法立刻向数据库查询。 2)get:Session关闭后,可以加载数据! 2、load(): 1)默认使用懒加载,当用到数据的时候才向数据库查询。 a)情况1:不执行sql语句 b)情况2:执行sql语句 2)Session关闭后,不能使用懒加载数据! 二、懒加载:原创 2016-12-21 16:47:51 · 542 阅读 · 0 评论 -
SSH框架之Hibernate的一对一映射
一对一映射的两种情况: 两种情况的User.java、User.hbm.xml、App.java,除了包名不同(sram.oneToOne、sram.oneToOne2),剩余内容均相同相同。 1、User.java 2、User.hbm.xml 3、App.java 一、基于外键: 1、IdCard.java 2、IdCard.hbm.xml原创 2016-12-22 22:02:21 · 543 阅读 · 0 评论 -
SSH框架之Hibernate的组件映射、简单继承映射
一、组件映射 1、类组合关系的映射,也叫做组件映射!2、注意:组件类和被包含的组件类,共同映射到一张表!3、需求: 汽车与车轮4、数据库设计: t_car主键 汽车名称 轮子大小 个数1 保时捷 77 65、javabean设计: 1)Car.java 2)Wheel.java原创 2016-12-22 23:35:06 · 396 阅读 · 0 评论 -
SSH框架之Hibernate的继承映射的形式一(一张表)
(不推荐用)*Hibernate的继承映射形式一:所有子类映射到一张表 (数据库只有一张表*)1、什么情况用:子类教多,且子类较为简单,即只有个别属性!2、好处:因为使用一个映射文件, 减少了映射文件的个数。3、缺点:(不符合数据库设计原则) 一个映射文件: Animal.hbm.xml(如何区分是哪个子类的信息?)4、数据库设计:t_animal (要存储所有的子类信息)原创 2016-12-23 01:00:09 · 591 阅读 · 0 评论 -
SSH框架之Hibernate的继承映射的形式三(两张表)【推荐】
【推荐】Hibernate的继承映射的形式三(两张表):每个子类映射一张表, 父类不对应表。1、数据库计划设计样式:数据库: T_cat Id name catchMounse T_monkey Id name eatBanana2、javabean的设计还是基本没有变化,唯一变化的就是Animal.java原创 2016-12-24 16:23:10 · 509 阅读 · 0 评论 -
SSH框架之Hibernate的引入、ORM概念、第一个Hibernate配置
一、Hibernate的引入: 1、SSH框架: 1)Struts框架, 基于mvc模式的应用层框架技术! 2)Hibernate, 基于持久层的框架(数据访问层使用)! 3)Spring, 创建对象处理对象的依赖关系以及框架整合!2、Dao代码,如何编写: 1)操作XML数据 2)使用Jdbc技术: a)原始的jdbc操作原创 2016-12-13 09:01:30 · 879 阅读 · 0 评论