
Web开发 | Hibernate
文章平均质量分 87
Cheat_Code
这个作者很懒,什么都没留下…
展开
-
Web开发 | Hibernate - 15.Hibernate的JPA注解
JPA是SUN公司的一个 ORM 规范,只有接口和注解,没有具体实现。JPA是 EJB3 中的子规范。 Hibernate中有两套注解规范:一套JPA,一套自己的; 使用注解开发,效率更高。一、单表常用注解新建项目Hibernate5_d04_c04,引入必要的jar包、配置、util类 1、简单自动创建一张数据表 /Hibernate5_d04_c0...原创 2018-05-08 09:34:33 · 237 阅读 · 0 评论 -
Web开发 | Hibernate - 04.Hibernate常用的接口和类
1.Configuration类和作用 Configuration 对象用于配置并且启动 Hibernate。 Hibernate 应用通过该对象来获得对象-关系映射文件中的元数据,以及动态配置Hibernate 的属性,然后创建 SessionFactory 对象。 简单一句话:加载 Hibernate 的配置文件,可以获取 SessionFactory (连接池)对象。 ...原创 2018-04-30 01:14:39 · 237 阅读 · 0 评论 -
Web开发 | Hibernate - 03.Hibernate常用的配置文件
1.log4j的简单的使用 Hibernate 开发包中只是提供了一个日志接口的包 slf4j,并没有提供日志的具体实现,因此,需要额外下载 slf4j 和 log4j 的开发包。【什么是 slf4j】 slf4j-api 只是接口包(解耦合的思想,静态绑定思想),需要日志系统的实现 log4j。 slf4j 整合 log4j 的 jar:slf4j-log4j12-1....原创 2018-04-29 18:56:34 · 255 阅读 · 0 评论 -
Web开发 | Hibernate - 02.Hibernate的快速入门
1.Hibernate的jar包下载和导入 1).下载相应的 jar 包等 http://hibernate.org/orm/(hibernate-release-5.2.17.Final) 2).解压后的目录结构 目录结构 3.新建动态web工程:Hibernate5_d01_c03 1)、将lib\required下面的包复制到项目的lib的目录下 ...原创 2018-04-28 23:05:53 · 210 阅读 · 0 评论 -
Web开发 | Hibernate - 01.Hibernate框架的概述
1.Hibernate框架的概述Hibernate 是一个持久层的 ORM 框架 1、Hibernate 是一个开放源代码的对象关系映射(ORM)框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 2、Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序使用,也可以在 Servl...原创 2018-04-28 11:10:52 · 334 阅读 · 0 评论 -
Web开发 | Hibernate - 05.主键的生成策略
1.主键类型之自然主键和代理主键1、创建表的时候 1)、自然主键:对象本身的一个属性.创建一个人员表,每个人都有一个身份证号.(唯一的)使用身份证号作为表的主键.自然主键.(开发中不会使用这种方式) 2)、代理主键:不是对象本身的一个属性.创建一个人员表,为每个人员单独创建一个字段.用这个字段作为主键.代理主键.(开发中推荐使用这种方式)2、创建表的时候尽量使用代理主键创建表...原创 2018-04-30 03:21:30 · 265 阅读 · 0 评论 -
Web开发 | Hibernate - 06.Hibernate的持久化类概念和操作
1. 什么是持久化类1、持久化类:就是一个 Java 类(咱们编写的 JavaBean),这个 Java 类与表建立了映射关系就可以成为是持久化类。 持久化类 = JavaBean + xxx.hbm.xml2、Hibernate 框架环境中存在持久化类的概念。2. 持久化类的编写规则提供一个无参数 public 访问控制符的构造器。 – 底层需要进行反射。提供一个标...原创 2018-04-30 03:55:08 · 247 阅读 · 0 评论 -
Web开发 | Hibernate - 07.Hibernate持久化对象的状态
1. 持久化对象的状态1、Hibernate 的持久化类 持久化类:Java 类与数据库的某个表建立了映射关系,这个类就称为持久化类。 持久化类 = Java 类 + hbm 的配置文件2、Hibernate 的持久化类的状态 Hibernate 为了管理持久化类,将持久化类分成了三个状态 1)瞬时态:Transient Object 2)持久...原创 2018-04-30 18:16:52 · 235 阅读 · 0 评论 -
Web开发 | Hibernate - 14.查询功能优化
一、延迟加载延迟加载先获取到代理对象,当真正使用到该对象中的属性的时候,才会发送 SQL 语句,是 Hibernate 框架提升性能的方式 Hibernate框架提供的延迟加载,有两种方式 类级别的延迟加载 关联级别的延迟加载 session.load();默认就是延迟加载的方法 Customer c ...原创 2018-05-03 21:43:24 · 275 阅读 · 0 评论 -
Web开发 | Hibernate - 13.Hibernate框架的查询方式之HQL、QBC(Criteria查询)
一、Hibernate框架的查询方式1、唯一标识 OID 的检索方式。session.get(类.class,OID)2、对象的导航的方式。做一对多的环境搭建的时候,Customer 的 JavaBean 定义了 Set集合 HQL 的检索方式 Hibernate Query Language – Hibernate 的查询语言 Q...原创 2018-05-03 05:11:49 · 308 阅读 · 0 评论 -
Web开发 | Hibernate - 12.Hibernate的关联关系映射之多对多映射
一、多对多的建表原则 多对多的建表原则二、编写常规的用户和角色的JavaBean程序与映射配置文件SQL的建表sys_userCREATE TABLE `sys_user` ( `user_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '用户id', `user_code` varchar(32) DEFAULT...原创 2018-05-02 02:32:44 · 242 阅读 · 0 评论 -
Web开发 | Hibernate - 11.Hibernate的关联关系映射之一对多映射
一、JavaWeb中一对多的设计及其建表原则 关联关系图解二、SQL的建表hibernate_day03 cst_customerCREATE TABLE `cst_customer` ( `cust_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)', `cust_name` varchar(32...原创 2018-05-01 21:14:29 · 255 阅读 · 0 评论 -
Web开发 | Hibernate - 10.Hibernate框架的查询方式之Criteria查询接口
一、Criteria 查询接口(做条件查询非常合适)QBC:Query By Criteria – 按条件进行查询QBC 查询方式的使用先创建查询的接口 Criteria c = session.createCriteria(User.class);设置查询的条件 criteria.add(Restrictions.gt("age", 10));查询数据 List<...原创 2018-05-01 04:25:19 · 198 阅读 · 0 评论 -
Web开发 | Hibernate - 09.Hibernate中的事务
1. 事务相关的概念1、什么是事务事务就是逻辑上的一组操作,组成事务的各个执行单元,操作要么全都成功,要么全都失败.转账的例子:用户1给用户2转钱,包含了扣钱,加钱两个操作,这两个操作组成了一个事情!2、事务的特性原子性 – 事务不可分割.一致性 – 事务执行的前后数据的完整性保持一致. 即:用户1给用户2转钱,用户1必须扣钱,用户2必须加钱,是对等的。隔离性...原创 2018-05-01 03:16:35 · 181 阅读 · 0 评论 -
Web开发 | Hibernate - 08.Hibernate的一级缓存
1. Session对象的缓存 内存中Session对象的缓存什么是缓存? 其实就是一块内存空间,将数据源(数据库或者文件)中的数据存放到缓存中.再次获取的时候 ,直接从缓存中获取.可以提升程序的性能!Hibernate 框架提供了两种缓存一级缓存 – 自带的不可卸载的.一级缓存的生命周期与 session 一致. 一级缓存称为session 级别的缓存。二级缓存 ...原创 2018-05-01 01:24:27 · 184 阅读 · 0 评论