Hibernate学习笔记(一)——基础

持久化框架,关键是ORM,持久对象与关系型数据库之间的映射。

    该框架可以用于任何项目,不一定是WEB项目,所以应用很广泛。

    该框架使得程序员不再去关心数据库中的字段名,而把心思集中于其他业务中去,任何一个框架的推出并不是为了减少程序员的工作量,而是为了重用和使程序员集中更多精力去完成业务。

    该框架和IBATIS一起基本占据了整个持久化市场,但著名的EJB开始集成Hbernate,所以该框架有更大的市场。

    一个简单的Hibernate需要有hibernate.cfg.xml,XXXX.hbm.xml,注意XXXX表示一个持久化对象名字,在hibernate.cfg.xml需要配置到XXXX.hbm.xml的映射,用法为在<session-factory>标签中写上<mapping resource="XXXX.hbm.xml路径"/>,在XXXX.hbm.xml文件中我们需要配置持久化对象属性与数据库字段的对应关系,我们以UserPO.hbm.xml为例:

     <?xml version="1.0" encoding="UTF-8"?>
<!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.lei.hibernate.po.UserPO" table="t_user">
  <id name="id" type="int" column="f_id">
   <generator class="increment"></generator>
  </id>
  <property name="name" type="java.lang.String" column="f_name"></property>
  <property name="pwd" type="java.lang.String" column="f_pwd"></property>
 </class>
</hibernate-mapping>

    可以看见该文档是以<hibernate-mapping>为根元素,<class>标签中指定持久化对象的类路径和对应的数据库表,在对应的时候我们必须指定一个标识列(主键),<id>标签就是在做这个事,<generator>标签设定该列自动增涨,在<property>标签和id标签的用法一样,他指定的是非标识列.

  需要注意的是,Hibernate要求所有数据库操作都必须要有事务,他的基本流程是:

    首先通过Session session = HibernateSessionFactory.getSession();获得连接,注意这的Session不是会话,而应该理解为连接,然后Transaction transaction = session.beginTransaction();开启事务,接下来就可以调用session的方法进行数据库操作,最后transaction.commit();提交事务,整个过程很简单,但是不管用哪种持久框架,他的底层都是JDBC,所以这个技术还是不应该丢掉的.
 注意事项:

   持久化对象在编写的时候要遵循以下几个原则:

    1,要与普通JAVA-BEAN格式一样

    2,如果要定义集合,则需定义接口类型,比如LIST,SET

    3,必须要有标识属性对应表中的主键,即必须要有id之类的属性

<!-- -->

你可能感兴趣的:(Hibernate,框架,xml,bean,ibatis)