• Hibernate(一)


    Hibernate是一个开源的ORM框架,对JDBC进行了轻量级的封装,可以使用面向对象的思维操作数据库

    轻量级的JavaEE应用的持久层解决方案,关系型数据库ORM框架

    操作Java对象,通过映射的关联操作数据库的表结构(对象属性,数据库字段 )

    ORM(Object Relational Mapping)对象关系映射

    O:JavaBean

    R:表结构

    M:XML配置文件

    通过操作对象的方式来操作数据库的表结构

    Hibernate的优点:

    1、对JDBC访问数据库的代码进行了封装,简化了DAO层的重复性代码

    2、基于JDBC的主流映射框架,优秀的ORM实现,简化了DAO层的编码

    3、性能好,轻量级框架,映射灵活,支持很多关系型数据库,从一对多到多对多的各种复杂关系

    入门

    1、导包

    (1)MySQL驱动包

    mysql-connector-java

    (2)Hibernate包 lib/required下

    antlr

    dom4j

    geronime-jta

    hibernate-commons-annotations

    hibernate-core

    hibernate-jpa

    jandex

    javaassist

    jboss-logging

    (3)日志包

    log4j(日志实现)

    slf4j(接口)

    slf4j-log4j(桥梁 映射--XML配置文件 )

    2、建表和JavaBean

    用包装类,属性和字段一致

    需要提前建表,hibernate可以映射生成表结构,但是不能生成表

    3、映射配置文件 hbm.xml

    JavaBean有多少个就有多少映射文件hbm.xml,JavaBean和映射文件一一对应

    (1)在JavaBean所在的包下创建映射的配置文件    类名.hbm.xml

    xml配置文件引入约束,引入3.0,4.0不向下兼容

    不能上网需要配置,关闭xml再次打开会有提示

    (2)映射配置文件

    <hibernate-mapping>
        <class name="com.guojie.domain.Customer" table="cst_customer">
            <!-- 配置id,其中name是JavaBean的属性,column是表的字段 -->
            <id name="cst_id" column="cst_id">
                <!-- 主键生成策略 -->
                <generator class="native" />
            </id>
    
            <!-- 配置其他属性 -->
            <property name="cust_name" column="cust_name" />
        </class>
    </hibernate-mapping>

    4、核心配置文件cfg.xml

    <hibernate-configuration>
        <!-- 一个数据库对应一个sessionFactory -->
        <session-factory>
            <!-- 必须配置的参数5个:4大参数,方言 -->
            <property name="hibernate.connection.driver.class">com.mysql.jdbc.Driver</property>
            <property name="hibernate.connection.url">jdbc:mysql:///hibernate-demo</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.connection.username">root</property>
            <!-- 数据库方言 -->
            <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
            <!-- 映入配置映射文件 映射配置文件右键--路径去掉com包之前的-->
            <mapping resource="com/guojie/domain/Customer.hbm.xml" />
        </sessionFactory>
    </hibernamte-configuration>

    5、入门程序

    有志者,事竟成,破釜沉舟,百二秦关终属楚;苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
  • 相关阅读:
    设置了透明以后,会有严重残影
    “真正的工作不是说的天花乱坠”,Torvalds 说, “而是在于细节”(Torvalds 认为成功的项目都是99%的汗水和1%的创新)
    iOS和Android使用MQTT协议实现消息推送和即时通讯(替代XMPP,已经有TMS MQTT)
    avalonjs1.5 入门教程
    Grunt 之 Connect
    性能
    JQUERY省、市、县城市联动选择
    Meteor全栈开发平台
    微型工作流引擎设计
    微型工作流引擎-功能设计
  • 原文地址:https://www.cnblogs.com/1989guojie/p/8203200.html
Copyright © 2020-2023  润新知