【01】框架学习—Hibernate第一个入门案例
1.Hibernate的概述
全自动ORM(Object Relationship Mapping)框架,通过映射的关联操作数据库的表结构,自动生成SQL语句。
即:Hibernate是一个持久层的ORM框架。
2.什么是ORM(对象关系映射)★
ORM映射Object Relationship Mapping)
O:面向对象的Object (JavaBean对象)
R:关系数据库领域的Relational (表的结构)
M:映射Mapping (XML的配置文件)
即:Hibernate是程序员通过操作对象的方式来操作数据库表记录。
3.Hibernate优点
简化dao层代码。
轻量级框架,映射灵活。
4.搭建Hibernate5的运行环境
到Hibernate官网下载hibernate-release-5.0.7.Final.zip(我选择5.0.7的版本)
简单了解下目录结构:
API文档:hibernate-release-5.0.7.Final\documentation\javadocs\index.html
快速入门:hibernate-release-5.0.7.Final\documentation\quickstart\html\
Sun要求的规范:hibernate-release-5.0.7.Final\lib\jpa\ hibernate-entitymanager-5.0.7.Final.jar
运行环境要求的jar包:hibernate-release-5.0.7.Final\lib\required\(其中就有一个是上述的jpa规范的jar包)
提供的开源小项目:hibernate-release-5.0.7.Final\project\
配置文件:hibernate-release-5.0.7.Final\project\etc\
导入Jar包:
此次demo用到的数据库和表(自行编写相应的JavaBean):
Createdatabase hibernate_day01;
Usehibernate_day01;
CREATETABLE `cst_customer` (
`cust_id` bigint(32) NOT NULL AUTO_INCREMENTCOMMENT '客户编号(主键)',
`cust_name` varchar(32) NOT NULL COMMENT '客户名称(公司名称)',
`cust_user_id` bigint(32) DEFAULT NULLCOMMENT '负责人id',
`cust_create_id` bigint(32) DEFAULT NULLCOMMENT '创建人id',
`cust_source` varchar(32) DEFAULT NULLCOMMENT '客户信息来源',
`cust_industry` varchar(32) DEFAULT NULLCOMMENT '客户所属行业',
`cust_level` varchar(32) DEFAULT NULL COMMENT'客户级别',
`cust_linkman` varchar(64) DEFAULT NULLCOMMENT '联系人',
`cust_phone` varchar(64) DEFAULT NULL COMMENT'固定电话',
`cust_mobile` varchar(16) DEFAULT NULLCOMMENT '移动电话',
PRIMARY KEY (`cust_id`)
)ENGINE=InnoDB AUTO_INCREMENT=94 DEFAULT CHARSET=utf8;
映射文件引入约束:
其中,dtd和xsd都是约束文件,选择dtd是因为4.0默认不向下兼容,而 Hibernate5默认向下兼容。
在3.dtd中找到如下代码:
复制粘贴到映射文件即可。
当然这样引入的约束需要在有网络的情况下才有用,这里介绍eclipse中配置本地的约束文件。
先复制http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd—> 点击window —> preferences —> 搜索xml 选择xml catalog —>点击add —> key type选择uri、key上粘贴复制的内容、location选择本地dtd文件 —> finish
5.映射文件的编写
6.核心配置文件的编写
依旧先引入约束:
配置property时可到hibernate-release-5.0.7.Final\project\etc\hibernate.properties文件中找到对应的数据库配置 property,空格前是name,空格后是内容,这里我用的是Mysql数据库。
7.编写代码