快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门新葡亰8455下载app_龟发之家论坛



Hibernate理论根基

1. 什么是hibernate?

2. hibernate的常识内容

3. 什么是工具持久化?工具持久化有什么用?(办理的问题)

4. 若何工具持久化?

5. 若何用数据库的措施做工具持久化?

6. ORM(工具关系映射)是什么?有什么感化?

7. ORM从工具到表所要斟酌的问题

8. 什么是ORM框架?有什么用?

9. 应用hibernate的措施做工具持久化的事情,法度榜样员应该怎么做?

10. hibernate有什么用?

11. 法度榜样员和hibernate的整体事情流程

什么是hibernate:

持久化的框架,属于设计方面的内容,类库,用来做工具持久化的,什么是工具持久化呢?

Hibernate的常识内容:

语法部分(类库)

法度榜样设计思惟,也便是持久层的设计

什么是工具持久化?工具持久化有什么用?(办理的问题):

发明问题:

法度榜样设计的架构: 体现层—营业层—持久层—数据库层,此中体现层和营业层是JVM来履行,利用法度榜样会孕育发生许多的工具,要是断电了,工具就消掉了,也便是说在内存中的工具是不稳定的,状态不能持久

发明问题:

将一个工具从A电脑复制到B电脑,若何做到呢?

那么有三种措施办理上面的问题:

1. 序列化: 经由过程收集通报,或者硬盘共享

2. 存储到数据库中,谁想用,从数据库中拿

3. EJB Entity Bean(实体Bean)

序列化的措施对照古板:假如当一个工具的布局对照繁杂的时刻,我们这时只必要一部分内容,没有法子,只能全部写入到文件,全部读取

序列化的毛病: 不能检索,不能分离一个工具,未方便共享

以是说第一种措施只能用于做临时的持久化,简单的传输,但不得当繁杂的持久化事情

第二种措施(数据库持久化):检索方便,散播式共享,永远数据

总结:

什么是工具持久化: 工具持久化便是把内存中的工具永远的保存起来,保护工具的状态,方便应用

工具持久化有什么用: 1.办理掉落电的问题 2.共享方便 3.包督工具安然检索方便

若何工具持久化:

1. 工具序列化

2. 数据库(JDBC,EJB,Hibernate)

若何用数据库的措施做工具持久化:

1. JDBC

发明问题: 必要做大年夜量的事情,难度大年夜

2. EJB

应用的是此中的一个功能来做持久化,办理了应用JDBC措施的的大年夜量事情的问题

发明问题: EJB是重量级的组件,要应用它,有两个问题 1.资源 2.机能

发明问题: 以上两种要领还有个合营的问题,工具不是简单存储在数据库中的,比如多态的特征就不能处置惩罚 A b=new B(); B为A的子类

3. Hibernate

办理了以上的所有问题,感化:1.不用做大年夜量的事情 2.移植机能好 3.前进了代码的质量,简单 4.检索共享重用资源调试

ORM(工具关系映射)是什么?有什么感化?

发澳门新葡亰8455下载app明问题:

java中的工具的属性类型和数据库中的字段类型是不一样的,那么若何来存储java中的工具呢?这就必要做工具关系的映射,也便是ORM

什么是ORM: 将内存中的工具和数据库做转化,这样就实现了java与数据库之间的造访等功能

ORM从工具到表所要斟酌的问题:

Orm的繁杂问题:

1. 数据库若何包督工具的独一性:在内存中,两个工具属性值都一样,然则内存地址不一样,可以做区分,然则在数据库中若何分辨呢?

2. 承袭关系若何转化

3. 聚拢若何映澳门新葡亰8455下载app射呢?

什么是ORM框架?有什么用?

便是一个类库,经由过程这个类库完成持久化层的设计

应用hibernate的措施做工具持久化的事情,法度榜样员应该怎么做?

1. 将ORM筹划定下来,便是类到数据库的转化 2.使用hibernate天生代码

hi澳门新葡亰8455下载appbernate有什么用?

1. 完成jdbc的代码

2. 治理持久化工具的状态

3. 供给一个澳门新葡亰8455下载app查询的API

法度榜样员和hibernate的整体事情流程

法度榜样员:

1. 设计ORM规划

2. 写设置设置设备摆设摆设文件

3. 调用Hibernate的API,向Hibernate发出敕令

hibernate:

4. 读设置设置设备摆设摆设文件

5. 天生jdbc代码

6. 履行

Hibernate简单实例

Hibernate语法:

感化: 数据库的增编削查 HQL面向工具的查询语句

大年夜致步骤:

1. 设置情况 类库

2. 定义映射

A 定义映射的实体po

B 建立数据库表

C 写XML设置设置设备摆设摆设文件(表,数据库)

3. 调用Hibernate API

A 治理po的状态(增编削,规复po状态)

B 检索(查询)

Hibernate第一个简单的实例: 引例(frisHbn包)

1. 设置情况

hibernate设置设置设备摆设摆设情况必要的资本

Hibernate的jar包: lib.zip dtd.zip: dtd.zip可以不设置

2. 定义映射

建立项目:

bussiness包: entity包 Biz包营业

client包: 测试

util包: 对象

先写持久化类: 以花为实体,建立花类,并且建立数据库表

/**

* 建表语句:

* CREATE TABLE T_FRUIT(

FID NUMBER(10) PRIMARY KEY,

NAME VARCHAR(20) NOT NULL,

COMMENTS VARCHAR(50),

PRICE NUMBER(5) NOT NULL

);

*/

package Yuchen.fristHbn.business.entity;

//持久化类(花类),留意由于采纳的是hilo的要领得到id,以是必要有setid的措施

public class Fruit {

private Integer fid;//hibernate中的id不能识别int

private String name;

private String comments;

private int price;

public Fruit() {

super();

}

public Fruit(String name, Stri澳门新葡亰8455下载appng comments, int price) {

super();

this.name = name;

this.comments = comments;

this.price = price;

}

public String getComments() {

return comments;

}

public void setComments(String comments) {

this.comments = comments;

}

public Integer getFid() {

return fid;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getPrice() {

return price;

}

public void setPrice(int price) {

this.price = price;

}

public void setFid(Integer fid) {

this.fid = fid;

}

}

应用hilo的要领得到id:

建表语句:

CREATE TABLE T_HILO(HILO_ID NUMBER(10));

INSERT INTO T_HILO VALUES(1);

写hibernate的连接数据库的设置设置设备摆设摆设文件:

true

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@127.0.0.1:1521:name

scott

tiger

2

org.hibernate.dialect.Oracle9Dialect

写映射设置设置设备摆设摆设文件:

t_hilo

hilo_id

A. 类名—表名

B. id—id 得到id的要领 具体信息(如: hilo的表名和字段)

C. 属性—字段

应用hibernate API(FruitManager.java):

package Yuchen.fristHbn.business.Biz;

//营业逻辑类:认真增编削查经由过程应用hibernate API进行

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

import Yuchen.fristHbn.business.entity.Fruit;

public class FruitManager {

您可能还会对下面的文章感兴趣: