Hibernate入门

来源:互联网 发布:爱淘宝怎么删除 编辑:程序博客网 时间:2024/05/29 08:37

Hibernate框架概述

hibernate 属于持久层框架,其实就是dao层,Hibernate是一个开放源代码的关系映射框架.它对java进行了非轻量级的封装,使得程序员可以很容易的操作数据库 ,甚至简单到没学过sql语句的人都能使用.

Hibernate 的使用场景  servlet / jsp / java客户端 / 以及JDBC的任何场景 .

由于hibernate 属于重量级的框架 ,所以现在以及开始被 mybatis 所代替,带由于开发人员都是懒的,所有还有一半多的公司在使用hibernate, 这也是我们需要学习的原因.

需要记住的是,hibernate 是一个持久层 的 orm 框架 !



什么是ORM(对象关系映射)

Object relational mapping   对象关系映射  .  什么意思呢 ,就是能够使类与数据库的表建立一层关系 .  这也是我们操作对象就能操作数据库的原因之一.

也许你会问,我们应该怎么建立这层关系呢?    --嗯,我们通过xml配置文件来建立这层关系. 如果没有建立关系 就是用hibernate 来操作数据库 , 会报错,,具体什么错我也忘记了....


Hibernate优点

1.hibernate 简化了代码的繁琐性,频繁性 

2. Hibernate是一个基于jdbc的主流持久化框架,是一个优秀的orm实现,它很大程度的简化了dao层编码工作  //基本的sql语句都不用写

3.它支持很多关系型数据库,从一对一到多对多的各种复杂关系   //比如 mysql


 


介绍了那么多,我们进行入门操作把

第一步:下载Hibernate5的运行环境

http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/hibernate-release-5.0.7.Final.zip/download 


第二步 (其实表可以不用建,因为可以使用配置文件来自动生成表,后面我会讲.建议先建一个表)

创建表数据

     建表语句如下

  Create database hibernate_day01;
 Use hibernate_day01;
 CREATE TABLE `cst_customer` (
   `cust_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)',
   `cust_name` varchar(32) NOT NULL COMMENT '客户名称(公司名称)',
   `cust_user_id` bigint(32) DEFAULT NULL COMMENT '负责人id',
   `cust_create_id` bigint(32) DEFAULT NULL COMMENT '创建人id',
   `cust_source` varchar(32) DEFAULT NULL COMMENT '客户信息来源',
   `cust_industry` varchar(32) DEFAULT NULL COMMENT '客户所属行业',
   `cust_level` varchar(32) DEFAULT NULL COMMENT '客户级别',
   `cust_linkman` varchar(64) DEFAULT NULL COMMENT '联系人',
   `cust_phone` varchar(64) DEFAULT NULL COMMENT '固定电话',
   `cust_mobile` varchar(16) DEFAULT NULL COMMENT '移动电话',
   PRIMARY KEY (`cust_id`)
 )


第三步 

创建Bean 对象,也就是数据库表映射的对象 

名字不需要一致,但数量类型要一致, 建议书写一致

public class Customer {
  private Long cust_id;
  private String cust_name;
  private Long cust_user_id;
  private Long cust_create_id;
  private String cust_source;
  private String cust_industry;
  private String cust_level;
  private String cust_linkman;
  private String cust_phone;
  private String cust_mobile;
  // 省略get和set方法
 }


第四步

导入jar包 , 打开我们下载的文件, 找到lib   里面有require  这里面的jar包是需要全部导入的

找到下载的文件,点击 ,版本可以不一样,但步骤是一致的


选择lib


然后选择required

   

把里面的jar 包 全部导入就行.




第五步, 书写配置文件

首先我们需要找到约束文件,约束文件 在下载的文件里面有的,

有俩种方法,  1.

找到hibernate-core-x.x.x的jar包,在我们刚刚导入的jar包里有,然后copy 一份 ,把后缀名改成 zip 就可以解压啦 ,我们解压一下

 就变成文件夹了

打开文件夹,找到org文件,进入



然后找到hibernate-mapping-3.0.dtd 的文件 ,

使用记事本打开,



0.2 还有一种查找文件的方法 ,推荐使用

我们在开发工具里找到核心jar 包 ,hibernate-core-x.x.x.jar 

然后点击打开,点击里面的,org


,然后找到hibernate-mapping-3.0.tde 文件,然后导入约束就行,


导入约束后,我们就可以写代码了(我使用的是idea, 要是有人跟我一样,可以点击setting 设置自动生成xml文件, 就不用每次都要去找约束了 ,当然,使用eclipse 的也有软件,可以自动生成,,网上可以下载  推荐 JBOSS)



相信大家一定使用过 c3p0 . 或DBCP 把  ,  应该都知道 ,数据库需要专门配置

这个配置需要放在src 目录下面,

名字没有要求,建议写成 hibernate.cfg.xml  如果没有这样写 , 那么我们需要在写代码的时候告诉服务器需要加载哪个配置文件,不然会报出错误

配置文件的约束也有,步骤和找映射配置文件一样 ,, 我们还是再找到hibernate-core-5.7的文件 ,然后进入org  找到一个名字是 hibernate-configuration-3..dtd 的配置文件,导入约束即可



然后根据约束进行配置即可


相信小伙伴们一定会有疑问 , 怎么多,怎么可能记得住 ? 有没有什么配置文档  ?  答案是 , 当然有 , 我们需要打开我们最先下载的文件,

进入project  ,

然后进入etc,找到hibernate.properties 的文件即可


一些常用的配置如下 ,


然后就配置完成啦,


代码演示




这就是保存的功能,如果想要查询的话 


我们使用session 的get 方法  需要俩个参数,一个是Customer 的字节码对象 , 一个是 数据的id,

就讲这么多啦 ,刚开始配置可能会觉得有些麻烦 ,,多配置几次 就好啦


本人菜鸡一枚,,欢迎指出不足,,


原创粉丝点击