Hibernate框架搭建 --- 入门学习

2020-04-27 16:06:01来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Hibernate框架搭建 --- 入门学习

Hibernate入门
这是电虫第一次使用博客进行记录自己的学习历程,有不足之处希望大家多加指正,嘻嘻嘻…
Pass:很多人都说hibernate已经不怎么用了,因为有了更多的框架让大家更加方便使用,但是我还是学习一下,因为这个框架毕竟经历过这么久的时间检验,在用于学习方面的话还是有可取之处的,我认为学习一下hibernate应该会让自己对于框架的认知有更全面的认知,而且能学会hibernate难道还学不会其他的框架(hibernate比较其他的一些框架而言应该是更复杂一点)?


言归正传:

1. hibernate开发环境下载
  Hibernate包下载地址:http://prdownloads.sourceforge.net/hibernate/?sort_by=date&sort=desc
  数据库驱动下载:
    1.Oracle JDBC Driver下载地址(下载前必须同意Oracle协议书):http://otn.oracle.com/software/htdocs/distlic.html?/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html
    2.MySQL JDBC Driver下载地址:https://dev.mysql.com/downloads/connector/j/3.0.html

  根据自己使用的数据库情况下载相应的数据库驱动,建议练手使用MySQL


2.解压hibernate压缩包

2.1解压后的主要文件(部分)

三个文件的解释:

  • documentation ::Hibernate开发的文档
  • lib :Hibernate开发包

    |--- lib文件中有两个包需要注意:

      |--- required ::Hibernate开发的必须的依赖包

      |--- optional ::Hibernate开发的可选的jar包

  • project ::Hibernate提供的项目

这些文件解压后留着创建Java项目后使用;


3.创建一个Java项目练手

  1. 首先创建一个Java项目

    注意:在使用Java项目时需要预先在自己创建的Java项目中创建一个lib包(各位大牛请自动忽略这句话,完全是电虫按照小白模式编写的);

    在创建好的lib文件夹中导入三类架包,分别是hibernate开发必须jar包、数据库驱动jar包和日志jar包,下面详细介绍导入哪些。

 

  2. 导入hibernate开发必须包

导入的文件是上面提到的hibernate解压后的 lib文件夹 中的 required文件夹下的所有jar包,如下图:

 

   3.导入数据库驱动包

    解压后的数据库驱动包(电虫所使用的是MySQL的驱动),导入的文件名称如下图所示:

 

  4.导入日志包
    日志包具体导入的包如下所示:

     此包放在src文件夹下;
    如果在网上找不到可以试试我的 https://download.csdn.net/download/qq_40762011/10607402

 

  5.在数据库中创建一个数据库和表

    表名:customer

字段名 类型(长度) 是否为空 是否为主键 注释
cust_id bigint(32) 编号(主键)
cust_name varchar(32) 姓名
cust_source varchar(32) 来源
cust_industry bigint(32) 从事工作
cust_level varchar(32) 级别
cust_phone varchar(64) 电话
cust_mobile varchar(16) 手机号

     在数据库中创建表的代码:

CREATE TABLE 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;

 

  6.创建好数据库后在项目中建立对应的实体类

    如下图所示:

    创建好后get/set一下,后边操作要使用到相应的功能;

 

  7.创建映射表
    注意:映射需要通过XML的配置文件来完成,这个配置文件可以任意命名。尽量统一命名规范(例如:类名.hbm.xml),这个映射文件和实体类放在一个文件里就好
    映射表创建如下图所示:

    相应的标签所代表的意思和作用在上面略有体现,具体的下一章节会进行详细分享;

 

   8.创建核心配置文件
    在src下被配置XML文件,此文件命名方法一般为(hibernate.cfg.xml),核心文件配置方法有两种,一种是XML文件配置,一种是属性文件设置,现使用的是XML文件配置的方式,具体核心配置如下图所示,核心文件放在src文件夹下:

    相应的标签所代表的意思和作用在上面略有体现,具体的下一章节会进行详细分享;

 

  9.编写测试代码
    测试代码截图如下所示:

 

 @Test
public void demo1(){
    //1.加载核心配置文件
    Configuration conf = new Configuration().configure();
    //2.创建一个sessionFactory对象:类似于JDBC中的连接池
    SessionFactory sessionFactory = conf.buildSessionFactory();
    //3.通过SessionFactory获取到Session:类似于JDBC中的Connection
    Session session = sessionFactory.openSession();
    //4.手动开启事务
    Transaction bt = session.beginTransaction();

    //5.编写代码
    Customer c = new Customer();
    c.setCust_name("韦一笑");
    c.setCust_industry("青翼蝠王");
    session.save(c);

    //6.提交事务
    bt.commit();
    //7.释放资源
    session.close();
}

    控制台会输出如下所示的运行结果:

     打开数据库刷新后会看到相应表中有记录,如下图所示:

    以上就是hibernate框架的入门搭建,更高深的还在学习中。

 


 

 

提示:
  1) 在导入完架包后别忘了build path 一下;
  2) 在整个入门搭建中重难点在映射文件和核心配置方面,其他的一些都是以前学过的,所以,在映射和核心配置方面细心学习,后边的也很容易理解了(映射文件和核心配置在下一节会整理分享出来)。
  3) 在下载hibernate开发环境压缩包时尽量选择5版本的,详细原因不多赘述。

  pass:这是我根据在网上找的视频还有查的资料学习并总结的,分享出来给大家,还望大牛多多指正。

使用文件供应:  

  自己的学习hibernate入门学习总结文档(因为及比较笨,所以做的还算比较详细):

https://download.csdn.net/download/qq_40762011/10607378

  hibernate框架核心配置文件和映射文件的约束文件:https://download.csdn.net/download/qq_40762011/10607339

  hibernate框架搭建脑路图:https://download.csdn.net/download/qq_40762011/10607352

  hibernate框架日志文件包:https://download.csdn.net/download/qq_40762011/10607402

 


 

《本章完》

pass:之前是在CSDN上的博客,因某些原因现在转到了博客园,图片中的水印无法消掉,可能会有些影响观看,抱歉;

 


原文链接:https://www.cnblogs.com/90s-ITBoy/p/12766219.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java日期时间API系列31-----Jdk8中java.time包中的新的日期时间A

下一篇:大赞:《Linux内核源代码情景分析》最新高清中文版开放下载。