魔兽传奇

java程序爱好者
posts - 28, comments - 16, trackbacks - 0, articles - 6
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Hibernate学习笔记

Posted on 2009-07-30 16:55 龙旋风 阅读(60) 评论(0)  编辑  收藏

Hibernate 是一个纯 Java 的对象关系映射和持久性框架,它允许您用 XML 配置文件把普通 Java 对象映射到关系数据库表。及ORM映射关系。

要把 Hibernate 集成到现有的 Java 项目,则需要执行以下步骤:

  1. 从 Hibernate 的 Web 站点下载 Hibernate 框架的最新发行版(请参阅 参考资料一节中的链接。)

     

  2. 把必需的 Hibernate 库(JAR 文件)复制到应用程序的 CLASSPATH。

     

  3. 创建 XML 配置文件,用它把 Java 对象映射到数据库表。(我们将在本文中描述这个过程。)

     

  4. 把 XML 配置文件复制到应用程序的 CLASSPATH。

 

您会注意到,不必修改任何 Java 对象,您就可以支持框架。例如,假设您对 Java 应用程序使用的数据库表做了些修改 —— 例如修改了列名。在修改完表之后,您要做的只是更新对应的 XML 配置文件。 您不需要重新编译任何 Java 代码。

Hibernate 提供了一个查询语言,叫作 Hibernate 查询语言(HQL),它与 SQL 很相似。如果您喜欢用老式的 SQL 查询,那么 Hibernate 也为您提供了使用它们的机会。但是我们使用的示例只用 HQL。

功能的核心在于 XML 配置文件。这些文件必须存在于应用程序的 CLASSPATH 中。我们把它们放在示例代码包的 config 目录中(您可以从 参考资料下载)。

我们要研究的第一个文件是 hibernate.cfg.xml。它包含与数据源有关的信息(数据库 URL、模式名称、用户名、口令等),以及对包含映射信息的其他配置文件的引用。

其余的 XML 文件允许您把 Java 类映射到数据库表。稍后我再深入介绍这些文件,但重要的是要清楚它们的文件名要遵守 ClassName.hbm.xml 这个模式。

    配置XML:
1.hibernate.cfg.xml

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE hibernate-configuration
    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">  <!--引用hibernate必须-->

<hibernate-configuration>
   
    <session-factory name="java:/hibernate/HibernateFactory">
       
        <property name="show_sql">true</property>
        <property name="connection.driver_class">
           org.gjt.mm.mysql.Driver<!-- 这里是MySQL的JDBC driver class名 -->
        </property>
        <property name="connection.url">
            jdbc:mysql://127.0.0.1:3306/hibernate_test <!-- 这里是MySQL的hibernate_test数据库URL -->
        </property>
        <property name="connection.username">
            root   <!--用户名-->
        </property>
        <property name="connection.password">
            123  <!--密码-->
        </property>
        
        <mapping resource="Customer.hbm.xml" /> <!-- 指定Customer的映射文件 -->
        <mapping resource="User.hbm.xml" /><!-- 指定User的映射文件 -->

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

2.User.hbm.xml对应user对象的数据库表映射ORM
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
   
<hibernate-mapping>
 <class name="org.User" table="USER"><!--对象和表对应映射关系-->
  <id name="id" column="ID">                <!--主键对应数据表关系-->
   <generator class="increment" />
  </id>
  <property name="username" column="USERNAME" />
  <property name="password" column="PASSWORD" />
  <property name="role" column="ROLE" />
 </class> 
</hibernate-mapping>

只有注册用户登录后才能发表评论。


网站导航: