Hibernate框架学习笔记(一)

1.Hibernate概述:应用于javaee三层框架中的dao层框架,对数据库进行crud操作。

        * 不需要写复杂的jdbc代码

        *不需要写sql语句

        *现在一般都是使用的是hibernate-release-5.0.7.Final

2.ORM思想:Object Relational Mapping(对象关系映射)

        让实体类和数据库进行一一对应关系。(实体类和数据库表对应、实体类属性和表里面的字段对应)

        Hibernate使用orm思想对数据库进行crud操作。

3.Hibernate入门

         *  搭建hibernate环境:

                (1)导入必要的包:

                         

                (2)创建User实体类:

                       

               (3)创建数据库,但可以不需要创建表。

               (4)配置实体类和数据库表一一对应的关系(映射关系),

                        >创建xml格式的配置文件,但映射的文件的位置和名称都没有规定,但建议是:  实体类名称.hbm.xml                      

             (5) 创建Hibernate核心配置文件,核心配置文件的文件格式和位置是固定的,位置必须在src下,名称必须在hibernate.cfg.xml。

                  包含数据库信息、hibernate信息、把映射文件放进来:

             (6)写一个测试类,实现添加操作:

                        > 第一步 加载hibernate核心配置文件

                        > 第二步 创建SessionFactory对象

                        > 第三步 使用SessionFactory创建session对象

                        > 第四步 开启事务

                        > 第五步 写具体的crud操作

                        > 第六步 提交事务

                        > 第七步 关闭资源  

                        

                  

4.Hibernate配置文件详解:

        Hibernate映射配置文件:

            (1)映射配置文件的名称和位置没有固定的要求

            (2)映射文件中,标签name属性值写实体类相关的内容

                        class标签name属性值是实体类的全路径

                        id标签和property标签name属性值是实体类属性的名称

            (3)id标签和property标签的column属性是可是省略的,一旦省略后,就和name属性值是一样的。

            (4)property标签type属性,设置生成表字段的类型,自动对应类型。

        Hibernate核心配置文件:

            (1)核心配置文件的名称和位置都是固定的,位置必须在src下,名称必须在hibernate.cfg.xml。

5.Hibernate核心API:

        Configuration:

           

        SessionFactory: 在创建sessionFactory过程中,这个过程是非常消耗资源的

        延伸一下,既然非常消耗资源,那么能不能创建一个工具类,使得一个项目只创建一个sessionFactory对象:

            具体实现:写一个工具类,写静态代码块实现。

       Session(重点)

            (1)session类似于jdbc中connection

            (2)调用session里面的不同的方法实现crud操作

                    添加-->save方法

                    修改-->update方法

                    删除-->delete方法

                    根据id查询-->get方法

            (3)session对象是一个单线程对象,只能一个人使用,不能共用。

       Transaction:

           (1)事务对象

            (2)事务提交和回滚方法

                tx.commit();

                tx.rollback();

猜你喜欢

转载自blog.csdn.net/newlinfeng/article/details/81116858
今日推荐