1、Hibernate配置


1.创建实体类

**

对于表 可以不需手动创建,框架会自动创建,当然也可以手动

**


2.配置实体类和数据库的一一对应关系

(1)创建xml配置文件

-映射配置文件名称和位置没有固定要求
-名称一般为 **实体类名称.hbm.xml** 不做固定要求
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <!-- 1 配置类和表对应
            class标签
            name属性:实体类全路径  com.oop.User
            table:    数据库表名
     -->
    <class name="com.oop.User"  table="t_user">
    
     <!--2  配置实体类id和表中id对应-->
           <id name="uId" column="uid">
                <!--设置数据库表id的增长策略-->
                <!--native:生成表id 自增-->
               <generator class="native"></generator>
            </id>
            
     <!--3 对应其他字段-->
        <property name="uName"></property>
        <property name="passWord"></property>

    </class>
</hibernate-mapping>

3.Hibernate核心配置文件

(1)核心配置文件格式xml,其文件名称和位置是固定的

-位置:必须在src下面
-名称:必须hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?>
<!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="connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="connection.url">jdbc:mysql://localhost:3306/exam?characterEncoding=UTF-8</property>
            <property name="connection.characterEncoding">utf-8</property>
            <property name="connection.username">root</property>
            <property name="connection.password">1234</property>

       <!--第二部分:配置hibernate信息  **可选-->
            <!--输出底层sql语句-->
           <property name="hibernate.show_sql">true</property>
            <!--输出底层sql语句格式-->
           <property name="hibernate.format_sql">true</property>
            <!--hibernate 创建表,配置之后
                    update:如果已经有表,更新,如果没有,创建-->
           <property name="hibernate.hbm2ddl.auto">update</property>
            <!--配置数据库方言-->
           <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

       <!--第三部分:把映射文件放到核心配置文件中  **必选-->
        <mapping resource="com/oop/User.hbm.xml" />
    </session-factory>
</hibernate-configuration>

4.实现添加操作

(1)加载hibernate核心配置文件

Configuration cfg = new Configuration() ;
cfg.configure();

(2)创建SessionFactory对象

SessionFactory sessionFactory = cfg.buildSessionFactory();

(3)使用SessionFactory创建session对象

Session session =  sessionFactory.openSession();

(4)开启事务

Transaction tx = session.beginTransaction();

(5)crud操作

User user = new User();
user.setuName("王老吉");
user.setPassWord("红罐");
session.save(user);

(6)提交事务

 tx.commit();

(7)关闭资源

 session.close();
 sessionFactory.close();
//        第一步 加载hibernate核心配置文件
//                到src下面找到名称是hibernate.cfg.xml ,封装对象
        Configuration cfg = new Configuration() ;
        cfg.configure();

//        第二步 创建SessionFactory对象
//                读取hibernate核心配置文件内容,创建sessionFactorym
//                        在其中,根据映射关系在数据库中创建表
        SessionFactory sessionFactory = cfg.buildSessionFactory();

//        第三步 使用SessionFactory创建session对象
        Session session =  sessionFactory.openSession();

//        第四步开启事务
        Transaction tx = session.beginTransaction();
//        第五步 crud操作
        User user = new User();
        user.setuName("王老吉");
        user.setPassWord("红罐");
        session.save(user);
//        第六步 提交事务
        tx.commit();
//        第七步 关闭连接
        session.close();
        sessionFactory.close();

同时1-3步可整合为

  SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

备注*(映射配置文件)

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

(2) id和property标签中,column属性可以省略

          不写值和name一样

备注*(核心配置文件)

(1)核心文件名称和位置固定的

		位置:src下
		名称:hibernate.cfg.xml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值