1.1 Hibernate框架的学习路线
第一天:Hibernate的入门(Hibernate的环境搭建、Hibernate的API、Hibernate的CRUD)
第二天:Hibernate的一级缓存、其他的API
第三天:Hibernate的一对多配置、Hibernate的多对多的配置
第四天:Hibernate的查询方式、抓取策略
1.2 CRM的案例
1.2.1.1 什么是CRM
客户关系管理
1.2.1.2 CRM有哪些模块
1.3 Hibernate的框架的概述
1.3.1 EE的三层架构
1.3.3 Hibernate的概述
Hibernate是一个持久层的ORM框架。
ORM:Object Relational Mapping(对象关系映射)。指的是将一个Java中的对象与关系型数据库中的表建立一种映射关系,从而操作对象就可以操作数据库中的表。
为什么要学习Hibernate?
1.4 Hibernate的入门
1 下载Hibernate的开发环境
Hibernate3.x Hibernate4.x Hibernate5.x
下载Hibernate
(下载文件见第一天资料)
2 解压Hibernate
- documentation:Hibernate开发的文档
- lib:Hibernate开发包
* required :Hibernate开发的必须的依赖包
* optional :Hibernate开发的可选的jar包
- project :Hibernate提供的测试项目
3 创建一个项目,引入jar包
- 数据库驱动包–mysql-connector-java-5.1.7-bin.jar
- Hibernate开发的必须的jar包–下载的Hibernate文件夹里require文件中的包(~\hibernate-release-5.0.7.Final\lib\required)
- Hibernate引入日志记录包–log4j的jar包
把上面三类jar包添加到build path中
4 创建表
(以客户表为例,在数据库中建立数据库并建表)
CREATE TABLE `cst_customer` (
`cust_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)',
`cust_name` varchar(32) NOT NULL COMMENT '客户名称(公司名称)',
`cust_source` varchar(32) DEFAULT NULL COMMENT '客户信息来源',
`cust_industry` varchar(32) DEFAULT NULL COMMENT '客户所属行业',
`cust_level` varchar(32) DEFAULT NULL COMMENT '客户级别',
`cust_phone` varchar(64) DEFAULT NULL COMMENT '固定电话',
`cust_mobile` varchar(16) DEFAULT NULL COMMENT '移动电话',
PRIMARY KEY (`cust_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
5 创建实体类
在src下新建一个package,命名为“com.itheima.hihernate.demo1”,在这个package下创建一个class,明明为“Customer”。
写好之后,source–Generate Getters and Settings
6 创建映射(*)
映射需要通过XML的配置文件来完成,这个配置文件可以任意命名。
尽量统一命名规范-Customer.hbm.xml (Customer.hbm.xml)
{Customer.hbm.xml映射怎么写?
hibernate jar包导入生成的reference Libraries里–>hibernate-core-5.0.7.Final.jar–>org.hibernate–>hibernate-mapping-3.0.xsd里面有写好的约束,可以复制过来。}
Customer.hbm.xml 代码如下
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!-- 建立类与表的映射 -->
<!-- class中有两个属性:name="类名全路径",table="数据库的表明" 目的是让这个类和这个表建立映射-->
<class name="com.itheima.hihernate.demo1.Customer" table="cst_customer">
<!-- id 用来建立类中的属性与表中的主键对应 -->
<id name