hibernate框架(1)

本文介绍Hibernate框架的基本概念及其在Java应用程序中的使用方法。包括环境搭建、实体类与数据库表的映射配置,以及核心配置文件的设置等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

框架概念:帮我们实现程序中一部分功能,能让我们少写很多代码
hibernate(冬眠)框架:
1.应用于Dao层
2.使用hibernate实现增删改查操作其底层为jdbc,它对jdbc进行封装,不需要写jdbc和sql语句
3.开源、轻量级(不需要依赖其它,jar包较少)的框架
4.orm思想:对象关系映射
实体类与数据表进行一一对应
实体类属性与表里字段对应————->使用配置文件完成
不需要直接操作数据库表,而直接操控实体类对应

搭建hibernate环境:

    第一步:导入hibernate的jar包、其它的日志jar包、MySQL驱动jar包
    第二步:创建实体类====》
         1.hibernate实体类必须有一个属性是唯一值
         2.hibernate会自动创建表
    第三步:配置实体类与数据表一一对应(映射关系)
         1.创建xml文件
        位置和名称一般没要求
        建议名称+hbm.xml位置在实体类所在包
         2.配置是xml格式,首先引入xml约束dtd约束schema
         3.配置映射关系
        在根标签<hibernate -mapping>下
    calss标签配置实体类与表对应  name:实体类全路径  table
id标签主键对应  name  column native:主键自增
property标签配置其他属性 name  column
    第四步:创建hibernate核心配置文件
         1.核心配置文件格式为xml,名称位置为固定,必须为src下 ,字必须为hibernate.cfg.xml。
         2.引入xml约束
         3.配置:hibernate操作过程,只会加载核心配置文件,不会加载其他配置文件
session-factory
第一:配置数据库信息--->从hibernate.properties
<property name ="">zhi</property>
配置驱动、链接、用户、密码等  
第二:配置hibernate信息可选
show sql
hibernateddl:数据定义语言
hibernate帮创建表  update:
auto:
sql语句输出、格式、自动创建表、配置不同数据库的特有语句
第三:配置其它配置文件<mapping></mapping>

以下是例子
实体类映射文件

<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    <!-- 题头xml约束 -->

    <hibernate-mapping>
        <class name="entity.Extinguisher" table="t_extinguisher"><!-- 类名表名 -->

            <id name="eid" column="extinguisher_id">
                <generator class="native"></generator>
            </id><!-- 配置主键:native表示自动选择数据库类型并自增 -->
            <property name="ni" column="ni"></property>
            <property name="name" column="name"></property><!-- 实体类名称对应表内名称如果不设置则默认相同 -->
        </class>
    </hibernate-mapping>

核心配置文件

<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="hibernate.connection.url">jdbc:mysql:///hoteldishes_system</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.connection.password">123456</property>
            <property name="hibernate.show_sql">true</property>
            <property name="hibernate.format_sql">true</property>
            <property name="hibernate.hbm2ddl.auto">update</property><!-- 上面都好理解,这个是自动创建表 -->
            <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
            <!-- 方言,即按照不同数据库自动翻译例如org和mysql中分页关键字不同 -->
            <property name="hibernate.current_session_context_class">thread</property>
            <!-- 与线程绑定,下面会说到 -->
            <mapping resource="entity/extinguisher.hbm.xml"/>
            <!-- 配置其他xml文件 -->

        </session-factory>

    </hibernate-configuration>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值