Java框架之hibernate(1)

来源:互联网 发布:psp马甲卡淘宝 编辑:程序博客网 时间:2024/06/14 08:29

 一、hibernate的简介:(澳大利亚墨尔本Gavin King)

           Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。



二、hibernate的原理及jdbc访问数据库的原理:

      jdbc访问数据库原理:

                  通过sql语句直接访问数据库,数据库根据本sql语句返回结果集

                  


      hibernate访问数据库原理:

                   程序封装成对象通过hibernate转换成sql语句访问数据库。数据库返回结果集给hibernate,hibernate对结果集封装返回程序。这就是hibernate的最大优点,完全面向对象。通过自身的orm(对象关系映射)表对应实体类,属性对应列实现映射。

                  

三、hibernate的框架搭建:

             1、导包:

                             下载好hibernate的官方包后,把lib下的required下的所有包导入项目中,再外加一个数据库驱动包

               2、创建表及相关的实体


             3、映射文件配置及hibernate的主配置:(注意映射文件与实体类放在同一目录下)

                              映射文件命名规则如下,实体类名称.hbm.xml

                             

               

                            主配置文件要放在src下

                           

  

             4、代码简单演示:


                         

 四、hibernate配置文件详解


               1、映射文件详解:

                               跟元素:

                                     

                              class元素: 

                                      

                               id元素:

                                                  

                               property元素:

                                                  

                2、主配置文件详解:

                               必选配置:

                                                   

                                 可选配置:

                                       

                                 引入映射文件:

                                                    

                                   

五、hibernate的API详解:

               1、Configuration:

                                 

                2、SessionFactory:

                                 

                  3、Session:

                                   

                                   

                                    先查后改是因为直接改会默认别的未set的属性为空,而先查则会设为原本值

                                    

                                    


                   4、Transaction: