1、Javaweb开发模式及关系对象映射模型ORM介绍
2、 Hibernate框架开发流程
3、 Hibernate的API分析
4、 Hibernate配置文件详解
5、 Hibernate的CRUD案例
传统的开发模式:
基于MVC的体系结构
ORM (object relation mapping)
目的:
1、 不写sql,就能实现对象直接保存到数据库中
2、 不写sql,就能实现查询数据,并且把查询到的数据直接封装到我们对象中。
ORM 它是一种思想,或者是一种规则的定义
基于这种模式:实现的应用
Hibernate
Mybatis
Hibernate框架
概念:
基于ORM的持久层框架,对jdbc进行封装
Hibernate是一套与具体数据库无关技术。
Hibernate框架的环境搭建
整体的步骤
1. Hibernate官网下载压缩包,引入jar包
2. 主要配置文件
Hibernate.cfg.cml
User.hbm.xml
3.Api
Configuration
SessionFactory
Transaction
Session
Queey
具体实现:
1、 建表
CREATE TABLE USER (id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20),
address VARCHAR(50));
2、 搭建工程 引入jar包
Jps下的所有+required所有+hibernate3.jar+数据库的驱动包
3、 修改配置文件
a) 主配置文件
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
Javabean
package com.hibernate.entity;
public class User {
private int id;
private String username;
private String address;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", address="
+ address + "]";
}
}
映射配置文件:
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
4、编写测试文件
Hibernate 的API
Session: 一个与数据库链接的回话信息
里面维护了一个链接对象,且对常用的操作进行了封装
Session.save(obj) 保存一个对象
Session.load(Class,id) 查询一个对象
Session.update(obj);
Session.delete(obj);;
Hibernate配置:
Hibernate.cfg.xml
#hibernate.hbm2ddl.auto create-drop 每次在创建sessionFactory是创建表 关闭session的时候删除表
#hibernate.hbm2ddl.auto create 每次都先删除表,在创建新的表
#hibernate.hbm2ddl.auto update 如果表不存在,则会创建表,如果存在不创建
#hibernate.hbm2ddl.auto validate 检查映射配置文件与数据库格式是否完全一致
映射配置文件
User.hbm.xml