传智播客——专注于 Java、 .Net 和 Php、 网页平面设计工程师的培训
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
第 1 章 Hibernate_day01
今日任务
使用 Hibernate 完成对 CRM 系统中客户管理的 DAO 中的 CRUD 的操作
教学导航
教学目标
教学方法 案例驱动法
案例一: 使用 Hibernate 完成 CRM 客户管理的
CRUD 的操作
1.1 案例需求:
1.1.1 需求描述
CRM 系统中客户信息管理模块功能包括:
新增客户信息
客户信息查询
修改客户信息
删除客户信息
1.2 相关知识点:
1.2.1 CRM 的概述
1.2.1.1 什么是 CRM
CRM(Customer Relationship Management) 客户关系管理, 是利用相应的信息技术以及互联网
传智播客——专注于 Java、 .Net 和 Php、 网页平面设计工程师的培训
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
技术来协调企业与顾客间在销售、 营销和服务上的交互, 向客户提供创新式的个性化的客户交互和
服务的过程。 其最终目标是将面向客户的各项信息和活动集成起来, 组建一个以客户为中心的企业,
实现对面向客户的活动的全面管理。
1.2.1.2 CRM 的功能模块
CRM 系统实现了对企业销售、 营销、 服务等各阶段的客户信息、 客户活动进行统一管理。
CRM 系统功能涵盖企业销售、 营销、 用户服务等各各业务流程, 业务流程中与客户相关活动都会在
CRM 系统统一管理, 下边列出一些基本的功能模块, 包括: 客户信息管理、 联系人管理、 商机管理、
统计分析等。
客户信息管理
对客户信息统一维护, 客户是指存量客户或拟营销的客户, 通过员工录入形成公司的“ 客户库”
是公司最重要的数据资源。
联系人管理
对客户的联系人信息统一管理, 联系人是指客户企业的联系人, 即企业的业务人员和客户的哪
些人在打交道。
客户拜访管理:
业务员( 用户) 要开发客户需要去拜访客户, 客户拜访信息记录了业务员与客户沟通交流方面
的不足、 采取的策略不当、 有待改进的地方或值得分享的沟通技巧等方面的信息。
综合查询
客户相关信息查询, 包括: 客户信息查询、 联系人信息查询、 商机信息查询等。
统计分析
按分类统计客户信息, 包括: 客户信息来源统计、 按行业统计客户、 客户发展数量统计等。
系统管理
系统管理属于 crm 系统基础功能模块, 包括: 数据字典、 账户管理、 角色管理、 权限管理、 操
作日志管理等。
传智播客——专注于 Java、 .Net 和 Php、 网页平面设计工程师的培训
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
1.2.1.3 JavaEE 开发三层结构
1.2.2 Hibernate 的概述
1.2.2.1 什么是 Hibernate
Hibernate 框架是当今主流的 Java 持久层框架之一, 由于它具有简单易学、 灵活性强、 扩展性强
等特点, 能够大大地简化程序的代码量, 提高工作效率, 因此受到广大开发人员的喜爱。
Hibernate 是一个开放源代码的 ORM(Object Relational Mapping, 对象关系映射) 框架, 它对
JDBC 进行了轻量级的对象封装, 使得 Java 开发人员可以使用面向对象的编程思想来操作数据库。
Hibernate 就是一个持久层的 ORM 的框架.
ORM :Object Relational Mapping.对象关系映射.
1.2.2.2 为什么要学习 Hibernate
使用传统的 JDBC 开发应用系统时, 如果是小型应用系统, 并不觉得有什么麻烦, 但是对于大
型应用系统的开发, 使用 JDBC 就会显得力不从心。 例如对几十、 几百张包含几十个字段的表进行
插入操作时, 编写的 SQL 语句不但很长, 而且繁琐, 容易出错; 在读取数据时, 需要写多条getXxx
语句从结果集中取出各个字段的信息, 不但枯燥重复, 并且工作量非常大。 为了提高数据访问层的
编程效率, Gavin King 开发出了一个当今最流行的的 ORM 框架, 它就是 Hibernate 框架。
所谓的 ORM 就是利用描述对象和数据库表之间映射的元数据, 自动把 Java 应用程序中的对象,
持久化到关系型数据库的表中。 通过操作 Java 对象, 就可以完成对数据库表的操作。 可以把 ORM
传智播客——专注于 Java、 .Net 和 Php、 网页平面设计工程师的培训
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
理解为关系型数据和对象的一个纽带, 开发人员只需要关注纽带一端映射的对象即可。ORM原理如
图 1-1 所示。
ORM 原理
与其它操作数据库的技术相比, Hibernate 具有以下几点优势:
Hibernate 对 JDBC 访问数据库的代码做了轻量级封装, 大大简化了数据访问层繁琐的重复
性代码, 并且减少了内存消耗, 加快了运行效率。
Hibernate 是一个基于 JDBC 的主流持久化框架, 是一个优秀的 ORM 实现, 它很大程度的
简化了 DAO( Data Access Object, 数据访问对象) 层编码工作。
Hibernate 的性能非常好, 映射的灵活性很出色。 它支持很多关系型数据库, 从一对一到多
对多的各种复杂关系。
可扩展性强, 由于源代码的开源以及 API的开放, 当本身功能不够用时, 可以自行编码进
行扩展。
1.2.3 Hibernate 的入门:
1.2.3.1 下载 Hibernate5
http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/
Hibernate5.0.7 版本下载后, 解压完的目录结构如图所示。
传智播客——专注于 Java、 .Net 和 Php、 网页平面设计工程师的培训
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
从图可以看出, hibernate5.0.7 的解压 s 目录中包含一系列的子目录, 这些子目录分别用于存放不同
功能的文件, 接下来针对这些子目录进行简单介绍, 具体如下:
documentation 文件夹: 存放 Hibernate 的相关文档, 包括参考文档的 API 文档。
lib 文件夹: 存放 Hibernate 编译和运行所依赖的 JAR 包。 其中 required 子目录下包含了运
行 Hibernate5 项目必须的 JAR 包。
project 文件夹: 存放 Hibernate 各种相关的源代码。
在 lib/required
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
第 1 章 Hibernate_day01
今日任务
使用 Hibernate 完成对 CRM 系统中客户管理的 DAO 中的 CRUD 的操作
教学导航
教学目标
教学方法 案例驱动法
案例一: 使用 Hibernate 完成 CRM 客户管理的
CRUD 的操作
1.1 案例需求:
1.1.1 需求描述
CRM 系统中客户信息管理模块功能包括:
新增客户信息
客户信息查询
修改客户信息
删除客户信息
1.2 相关知识点:
1.2.1 CRM 的概述
1.2.1.1 什么是 CRM
CRM(Customer Relationship Management) 客户关系管理, 是利用相应的信息技术以及互联网
传智播客——专注于 Java、 .Net 和 Php、 网页平面设计工程师的培训
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
技术来协调企业与顾客间在销售、 营销和服务上的交互, 向客户提供创新式的个性化的客户交互和
服务的过程。 其最终目标是将面向客户的各项信息和活动集成起来, 组建一个以客户为中心的企业,
实现对面向客户的活动的全面管理。
1.2.1.2 CRM 的功能模块
CRM 系统实现了对企业销售、 营销、 服务等各阶段的客户信息、 客户活动进行统一管理。
CRM 系统功能涵盖企业销售、 营销、 用户服务等各各业务流程, 业务流程中与客户相关活动都会在
CRM 系统统一管理, 下边列出一些基本的功能模块, 包括: 客户信息管理、 联系人管理、 商机管理、
统计分析等。
客户信息管理
对客户信息统一维护, 客户是指存量客户或拟营销的客户, 通过员工录入形成公司的“ 客户库”
是公司最重要的数据资源。
联系人管理
对客户的联系人信息统一管理, 联系人是指客户企业的联系人, 即企业的业务人员和客户的哪
些人在打交道。
客户拜访管理:
业务员( 用户) 要开发客户需要去拜访客户, 客户拜访信息记录了业务员与客户沟通交流方面
的不足、 采取的策略不当、 有待改进的地方或值得分享的沟通技巧等方面的信息。
综合查询
客户相关信息查询, 包括: 客户信息查询、 联系人信息查询、 商机信息查询等。
统计分析
按分类统计客户信息, 包括: 客户信息来源统计、 按行业统计客户、 客户发展数量统计等。
系统管理
系统管理属于 crm 系统基础功能模块, 包括: 数据字典、 账户管理、 角色管理、 权限管理、 操
作日志管理等。
传智播客——专注于 Java、 .Net 和 Php、 网页平面设计工程师的培训
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
1.2.1.3 JavaEE 开发三层结构
1.2.2 Hibernate 的概述
1.2.2.1 什么是 Hibernate
Hibernate 框架是当今主流的 Java 持久层框架之一, 由于它具有简单易学、 灵活性强、 扩展性强
等特点, 能够大大地简化程序的代码量, 提高工作效率, 因此受到广大开发人员的喜爱。
Hibernate 是一个开放源代码的 ORM(Object Relational Mapping, 对象关系映射) 框架, 它对
JDBC 进行了轻量级的对象封装, 使得 Java 开发人员可以使用面向对象的编程思想来操作数据库。
Hibernate 就是一个持久层的 ORM 的框架.
ORM :Object Relational Mapping.对象关系映射.
1.2.2.2 为什么要学习 Hibernate
使用传统的 JDBC 开发应用系统时, 如果是小型应用系统, 并不觉得有什么麻烦, 但是对于大
型应用系统的开发, 使用 JDBC 就会显得力不从心。 例如对几十、 几百张包含几十个字段的表进行
插入操作时, 编写的 SQL 语句不但很长, 而且繁琐, 容易出错; 在读取数据时, 需要写多条getXxx
语句从结果集中取出各个字段的信息, 不但枯燥重复, 并且工作量非常大。 为了提高数据访问层的
编程效率, Gavin King 开发出了一个当今最流行的的 ORM 框架, 它就是 Hibernate 框架。
所谓的 ORM 就是利用描述对象和数据库表之间映射的元数据, 自动把 Java 应用程序中的对象,
持久化到关系型数据库的表中。 通过操作 Java 对象, 就可以完成对数据库表的操作。 可以把 ORM
传智播客——专注于 Java、 .Net 和 Php、 网页平面设计工程师的培训
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
理解为关系型数据和对象的一个纽带, 开发人员只需要关注纽带一端映射的对象即可。ORM原理如
图 1-1 所示。
ORM 原理
与其它操作数据库的技术相比, Hibernate 具有以下几点优势:
Hibernate 对 JDBC 访问数据库的代码做了轻量级封装, 大大简化了数据访问层繁琐的重复
性代码, 并且减少了内存消耗, 加快了运行效率。
Hibernate 是一个基于 JDBC 的主流持久化框架, 是一个优秀的 ORM 实现, 它很大程度的
简化了 DAO( Data Access Object, 数据访问对象) 层编码工作。
Hibernate 的性能非常好, 映射的灵活性很出色。 它支持很多关系型数据库, 从一对一到多
对多的各种复杂关系。
可扩展性强, 由于源代码的开源以及 API的开放, 当本身功能不够用时, 可以自行编码进
行扩展。
1.2.3 Hibernate 的入门:
1.2.3.1 下载 Hibernate5
http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/
Hibernate5.0.7 版本下载后, 解压完的目录结构如图所示。
传智播客——专注于 Java、 .Net 和 Php、 网页平面设计工程师的培训
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
从图可以看出, hibernate5.0.7 的解压 s 目录中包含一系列的子目录, 这些子目录分别用于存放不同
功能的文件, 接下来针对这些子目录进行简单介绍, 具体如下:
documentation 文件夹: 存放 Hibernate 的相关文档, 包括参考文档的 API 文档。
lib 文件夹: 存放 Hibernate 编译和运行所依赖的 JAR 包。 其中 required 子目录下包含了运
行 Hibernate5 项目必须的 JAR 包。
project 文件夹: 存放 Hibernate 各种相关的源代码。
在 lib/required