Hibernate
Yes_JiangShuai
默默奋斗的攻城狮 向往掌握技术而不限于技术
展开
-
Hibernate学习-01:Hibernate框架的概述
1、什么是Hibernate:框架:软件的半成品,完成部分功能代码.Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意原创 2017-04-18 16:13:40 · 8592 阅读 · 0 评论 -
Hibernate学习-13:操作持久化对象的方法
操作持久化对象的方法我们之前在学习CRUD操作的时候都介绍过,但是在了解了对象的状态之后,站在持久化对象的角度上再看这些方法,会有不一样的收获。1、save():保存一条记录:将瞬时态对象转成持久态对象具体示例如下:(HibernateUtils.java详见Hibernate学习-09)@Test /** * save():添加一条记录 */ public voi原创 2017-04-21 15:32:08 · 8065 阅读 · 0 评论 -
Hibernate学习-12:一级缓存
1、Hibernate的一级缓存:什么是缓存: 缓存将数据库/硬盘上文件中数据,放入到缓存中(就是内存中一块空间).当再次使用的使用,可以直接从内存中获取。缓存的好处:提升程序运行的效率.缓存技术是Hibernate的一个优化的手段。Hibernate分成两个基本的缓存:-一级缓存:Session级别的缓存.一级缓存与session的生命周期一致.自带的.不可卸载。-二级缓原创 2017-04-21 09:58:38 · 7443 阅读 · 0 评论 -
Hibernate学习-09:核心API:Configuration、SessionFactory、Session、Transaction、Query、Criteria
Configuration:负责管理 Hibernate 的配置信息1.加载核心配置文件:核心配置有两种:* hibernate.properties:* 加载: Configurationconfiguration = new Configuration();* hibernate.cfg.xml:* 加载: Configurationconfiguratio原创 2017-04-20 10:00:45 · 895 阅读 · 0 评论 -
Hibernate学习-11:持久化对象状态及状态转换、持久态对象自动更新数据库
持久化类:就是一个实体类 与 数据库表建立了映射.Hibernate为了方便管理持久化类,将持久化类分成了三种状态.瞬时态 transient :(临时态)特点:持久化对象没有唯一标识OID.没有纳入Session的管理持久态 persistent :特点:持久化对象有唯一标识OID.已经纳入到Session的管理脱管态 detached :(离线态)特点:持久化对象有唯一标原创 2017-04-20 17:01:23 · 1645 阅读 · 0 评论 -
Hibernate学习-10:持久化类、主键生成策略
持久化类:实体类+映射文件持久化类是有编写规范:* 提供一个无参数 public访问控制符的构造器 :用到反射.* 提供一个标识属性,映射数据表主键字段 :* java区分两个对象是否是同一个使用 地址.* 数据库区分两条记录是否一致:使用 主键.* Hibernate中区分持久化对象是否是同一个,根据唯一标识:* 所有属性提供pu原创 2017-04-20 10:20:18 · 7091 阅读 · 0 评论 -
Hibernate学习-08:配置-核心配置文件hibernate.cfg.xml、映射文件*.hbm.xml
Hibernate的常见配置:1、核心配置;有两种方式进行配置利用属性文件进行配置:-hibernate.cfg.xml格式:key=value*****注意:无法在属性文件中加载映射文件(数据库表-实体类)。必须采用手动编码的方式来加载XML格式文件配置:-hibernate.properties格式:标签核心配置中:(1)、必须的配置*连接数据库的4原创 2017-04-20 09:35:04 · 1052 阅读 · 0 评论 -
Hibernate学习-03:入门案例(CRUD(增删改查)操作之添加记录)
加下来,我们就要开始我们的第一个Hibernate程序了。1、同上一讲创建一个java项目并导入相应的jar包和Log4j属性文件。2、在数据库中创建一个表:(关系型数据库)create database hibernate3_day01;use hibernate3_day01;create table customer( id int primary key auto_inc原创 2017-04-18 18:11:55 · 982 阅读 · 0 评论 -
Hibernate学习-04:CRUD(增删改查)操作之根据主键查询
上一讲的入门案例,我们使用了Hibernate框架的添加功能,此处不再赘述。这一讲我们继续介绍Hibernate的查询、更新、删除操作。准备工作:实体类、数据库准备同上一讲入门案例1、查询1.1:按照主键进行查询对于这种情况,Hibernate提供了两个方法:get()、load()修改实体类,添加toString()方法:package com.js.demo2;pu原创 2017-04-19 09:58:02 · 7511 阅读 · 0 评论 -
Hibernate学习-05:CRUD(增删改查)操作之修改记录
如果我们需要修改一条记录,怎么做呢?hibernate提供了session.update()方法。在做修改的时候,有两种方式,一种是手动创建对象的方式,第二种是先查询再修改的方式。1、手动创建对象的方式同Hibernate学习-03入门案例中的项目。数据库中原始数据如下:修改测试类,添加如下所示的测试方法:@Test //修改一条记录 public void dem原创 2017-04-19 10:15:36 · 809 阅读 · 0 评论 -
Hibernate学习-06:CRUD(增删改查)操作之删除记录
前面两讲我们介绍了查询和修改操作,现在我们再介绍最后一种操作:删除操作。同样地,session对象提供了delete()方法来帮助我们进行删除操作。我们还是使用入门案例的环境。详见Hibernate学习-03。数据库状态:删除和修改是一样的,也是有两种方式:1、手动创建对象的方式;2、先查询再删除的方式1、手动创建对象的方式;修改测试类,添加如下所示的测试方法:@Tes原创 2017-04-19 10:29:44 · 2841 阅读 · 0 评论 -
Hibernate学习-07:CRUD(增删改查)操作之查询多条/所有记录HQL、QBC、SQL三种方式
查询所有:(环境同 Hibernate学习-03)在这里呢,先给大家演示一下hibernate中查询多条记录的几种方式,具体的细节后面再讲。1、HQL查询:修改测试类:@Test //查询所有:HQL //HQL:Hibernate query language,Hibernate查询语言,面向对象的查询 public void demo7(){ Conf原创 2017-04-19 11:14:27 · 7931 阅读 · 0 评论 -
Hibernate框架入门Demo
笔者最近在自学Hibernate框架,做了一个简单的入门Demo,记录于此。环境介绍:eclipse:eclipse-java-neon-1a-win32-x86_64mysql:mysql-installer-community-5.6.28.0hibernate:hibernate-release-5.2.5.Finaleclipse新建java项目,项目中文件目录如下:原创 2017-02-27 14:31:41 · 951 阅读 · 0 评论 -
Hibernate学习-02:Hibernate的日志记录
日志:程序开发中的一些信息. 常用信息输出:System.out.println(“”);* 这种方式不好:* 如果输出内容比较多,项目已经开发完毕,不想使用输出.需要打开每个类,将输出的代码注释. 日志:Hibernate中使用slf4j技术.slf4j:SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案原创 2017-04-18 16:22:28 · 8549 阅读 · 0 评论 -
Hibernate学习-14:实体之间的关系及其配置,级联操作
1、实体之间有三种关系:* 一对多:* 一个用户,生成多个订单,每一个订单只能属于一个用户.* 建表原则:* 在多的一方创建一个字段,作为外键,指向一的一方的主键.* 多对多:* 一个学生可以选择多门课程,一个课程可以被多个学生选择.* 建表原则:* 创建第三张表,中间表至少有两个字段,分别作为外键指向多对多双方主键.* 一对一:(特殊.最少.)* 一个公司原创 2017-04-21 15:52:04 · 8510 阅读 · 0 评论