初次学习Hibernate

来源:互联网 发布:卖淘宝小号的 编辑:程序博客网 时间:2024/05/29 05:09

初次学习Hibernate

解决的问题:

1.什么是Hibernate。

2.使用Hibernate的步骤。

一.Hibernate是用于解决java应用与关系数据库连接的。他是一种优秀的持久化框架,是对象(object)----关系(Relational )映射(mapping)[简称ORM 映射技术]的一种实现架构。

                                     内存----------------持久化---------------------磁盘
内存处的数据处于瞬时状态;
磁盘出的数据处于持久状态;
持久化过程:两种状态下数据转换的解决方案。
体悟:
        1.以前,你做java程序把JDBC 连接操作数据库,业务逻辑处理,数据存取逻辑混杂在一起有没/
         A.没有.你要先做一遍这种类型的java程序。
                   一般步骤:1.建立数据库连接,获得Connection对象;
                                       2.根据用户的输入查询SQL语句;
                                       3.根据SQL语句建立Statement对象或者PreparedStatement对象;
                                       4.用Connection对象执行查询语句,获得结果集ResultSet对象;
                                       5.一条一条读取结果集ResultSet对象中的数据;
                                       6.根据读取倒的数据,按照特定的业务逻辑进行计算;
                                       7.根据计算的结果再组装更新SQL语句;
                                       8.使用Connection对象执行更新的SQL语句,以更新数据库数据;
                                       9.依次关闭各个Statement对象和Connection对象。
          B.有,那可以进行到第二个问题上啦。
二.使用Hibernate的"三个准备,七个步骤"。
三个准备:1.导入Hibernate库。建立一个java应用项目后,单击右键项目(项目,Myeclipse,add Hibernate Capabilities),添加Hibernate配置。
                    2.添加配置文件Hibernate.cfg.xml。
<session-factory>  
  <property name="connection.url">      
    jdbc:microsoft:sqlserver://localhost:1433;Database=zf             //数据库连接时URL字符串
  </property>
  <property name="connection.username">
  sa</property>                                                                                    //数据库的用户名          
 <property name="connection.password">
pwd</property>                                      //数据库的用户密码
  <property name="connection.driver_class">
     com.microsoft.jdbc.sqlserver.SQLServerDriver                        //数据库的驱动程序
  </property>
  <property name="dialect">
        org.hibernate.dialect.SQLServerDialect                                  //数据库的指定数据库使用的SQL语句
</property>
<property name="show_sql">true</property>                                //程序运行时,会在控制台输出程序运行的相应的SQL语句<mapping resource="com/hzvtc/entity/User.hbm.xml" />               //Custormer的映像文件
</session-factory>
          3.添加实体类和映射文件(例如.Hibernate.hbm.xml).
映像文件 例如
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd>
<hibernate-mapping>
<class name="com.hzvtc.entity.User"                                                  //实体类User
table="user"   schema="dbo"
catalog="wu">
<id name="id" type="java.lang.Integer">                                
<column name="id"/>                                                                             //数据库的表字段id
<gernerator class="native"></id>                                       //字段id的主键约束
<property name="name" type="java.lang.String">
<column name="name" not-null="true"  unique="true"/>                    //数据库的表字段name
</property>
<property name="pass" type="java.lang.String">
<column name="pass" not-null="true"  unique="true"/>                      //数据库的表字段pass
</property>
</class>
</hibernate-mapping>
 
注意:<id>和<property>两标签分别用来映射数据库表中的主键字段和非主键字段。
七个步骤:1.Configuration 读取配置文件。Configuration conf =new Configuration().congure();
                 2.SessionFactory 创建SessionFactory对象。SessionFactory sf =conf.buildSessionFactory();
                 3.打开Session。Session  session=sf.openSession();
                 4.开启一个事务。Transaction tx =session.beginTransaction();
                 5.持久化操作。User user = new User();
                                            user.setName("as");
              user.setPass("as");
              session.save(user);                                      //相当于insert语句
     6.提交事务。tx.commit();
      7.关闭session.session.close();                 
注意: 1.Configuration接口主要用于配置并启动Hibernate,最后创建SessionFactory对象。
             2.SessionFactory接口主要用于创建Session对象。
             3.Session接口是应用程序和Hibernate进行交互时使用的主要接口,用于增[save()],删[delete()],查[find()],改[update()]。
              4.Transaction 接口用于管理事务,它对事务做了封装。
 
原创粉丝点击