Hibernate的使用

1 创建一个Java项目,在项目中新建一个lib,将需要的Hibernate包和MySQL包导入,并Build Path

2 在src下添加Hibernate.cfg.xml在此文件中对Hibernate和MySQL进行配置,此处的配置作用,类似于JDBC的共用

我理解为此处用于与数据库连接

<hibernate-configuration>
<session-factory>

//确定方言
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>

//Driver
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- Assume test is the database name -->

//url
<property name="hibernate.connection.url">
jdbc:mysql://localhost:3306/test
</property>

//root
<property name="hibernate.connection.username">
root
</property>

//password
<property name="hibernate.connection.password">
123456
</property>
//配置Mapping
<mapping resource="com/whl/bean/User.hbm.xml"/>

</session-factory>
</hibernate-configuration>

3 在Bean下建立bean以及Bean.hbm.xml。在此xml中属性名等与数据库对应,此xml也叫映射文件的配置

在cfg.xml中进行mapping配置

<hibernate-mapping>

<class name="com.phone1000.je1702.bean.User">
<id name="uid" type="java.lang.Integer">
<generator class="increment"/>
</id>
<property name="username" not-null="true" length="15" column="username"/>
<property name="password" not-null="true" length="15" column="`password`"/>
</class>

</hibernate-mapping>

4 实现数据库的crub操作

   注:因为Hibernate是一个封装了JDBC的ORM框架,所以在开发中,其主要用于DAO、Server部分

    ①在dao下新建一个接口,写增删改查的方法

    ②new 一个Class继承上面的接口

              //1 创建一个configuraction对象,在configure()方法中会调用带参的构造器

              Configuration cfg=new Configuration.configure();

              //2 通过Configuration创建SessionFactory

               SessionFactory sf=cfg.bulidSessionFactory();

             //3 使用SessionFactory对象创建一个Session对象

                Session s=sf.openSession();

            //4  通过session对象开启一个事物

                 Transaction tx=s.beginTransaction();

           try{

                   //5 实现数据的CRUD操作

             s.save(user);

                   //6 commit或者rollback 事物

                        tx.commit();

         return ;

     }catch(){

                   //6  commit或者rollback 事物

        tx.rollback();

     }

      7  关闭session对象

注:在查询时,不改变表中数据,则不需要开启事物

      直接用session.createQuery("from user")

      ③  测试增删改查(Junit)

      

            

    

原文地址:https://www.cnblogs.com/gongchengshiwhl/p/6999744.html