码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate

时间:2017-09-28 18:38:04      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:技术   自动提交   group   面向对象   建立   upd   代码   3.0   数据   

 

ORM:

对象-关系映射(Object Relational Mapping)
把对象模型表示的对象映射到基于SQL的关系模型数据结构中去
操作实体对象的时候,不需要和复杂的sql语句打交道,只需要简单的操作实体对象的属性和方法
主流的ORM框架是Hibernate,iBatis,JPA...

技术分享

 Hibernate:

官网链接:http://hibernate.org/
易百教程:http://www.yiibai.com/hibernate/
参考博客:http://blog.csdn.net/dawanganban/article/details/13748235

Hbernate是一个开放源代码的对象关系映射框架(ORM
对JDBC进行了非常轻量级的对象封装(消耗资源少
将pojo与数据库表建立映射关系,是一个全自动的ORM框架
Hibernate可以自动生成SQL语句,自动执行
Hibernate可以应用在任何使用JDBC的场合,即可以在Java的客户端程序使用,也可以在Servlet/Jsp的Web应用中使用
具有数据库兼容性

MyBatis映射的是Dao层,映射文件只写SQL语句即可
Hibernate映射的是pojo层,直接将表映射成对象
  技术分享

 

 Hibernate框架体系结构:

1 映射类文件:pojo
2 主配置文件:
    用于描述数据库连接信息,数据库方言,关联映射文件
    命名规则:Hibernate.cfg.xml 或者 hibernate.properties
    位置:源码目录的根目录(Maven项目放在resources目录下)(配置文件的头部可以参考jar包)
      <!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
3 映射描述文件:
    用于描述映射类及属性与DB表的字段之间的对应关系
    命名规则:实体类名.hbm.xml
    位置:和实体类在同一目录下(配置文件的头部可以参考jar包)
      <!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
4 主要API
    Configration:主要用于加载主配置文件,获取数据库连接
    SessionFactory:用于创建session对象,封装了映射信息以及预定义的SQL
    Session:用于对象操作,完成CRUD操作
    Transaction:用于事务的处理,进行CRUD时要注意,因为Hibernate自动提交事务是关闭的
    Query:用于执行HQL查询语句(HQL属于面向对象的查询,语句中没有表名和字段名)

 在Maven项目中需要引入的jar包:

 <dependencies>
        <!-- hibernate -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.2.10.Final</version>
        </dependency>
        
        <!-- MySql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.32</version>
        </dependency>
    </dependencies>

 在hibernate.cfg.xml中配置的顺序问题:

技术分享

 

必须将property标签放在mapping节点前:<原因未知,,,欢迎补充>
      
     <!-- 可选配置 -->
        <property name="hibernate.show_sql">true</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hibernate.hbm2ddl.auto">update</property>
        
        <!-- mapping文件 -->
        <mapping resource="com/roxy/hibernate/pojo/Customer.hbm.xml"/>

 

Hibernate

标签:技术   自动提交   group   面向对象   建立   upd   代码   3.0   数据   

原文地址:http://www.cnblogs.com/roxy/p/7607954.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!