当前位置: 代码迷 >> Java Web开发 >> 初级hibernate学习记录
  详细解决方案

初级hibernate学习记录

热度:290   发布时间:2010-11-19 16:43:21.0
初级hibernate学习记录
本人菜鸟,刚开始学习hibernate,写下记录为了增强自己的记忆。

最最初级的hibernate配置:
  1、系统环境的准备:
    导包:把hibernate开发包的lib目录下的jar文件全部导入工程(书中推荐)。
    自己在测试时,导入几个必要的包即可。首先导入hibernate核心包(hibernate3.jar)和数据库驱动包(ojdbc14.jar),然后运行测试程序,按照错误提示,先后导入dom4j1.6.1.jar、commons-collections-2.1.1.jar、cglib-2.1.3.jar、asm.jar等,因为先导入了struts2的相关压缩包,所以,以上压缩包有可能缺少。
  2、在classpath(即工程的src)目录下创建hibernate.cfg.xml文件,然后拷贝工程示例或原有工程的hibernate.cfg.xml文件。该文件的根元素(root element)是hibernate-configuration,二级子元素是session-factory。Session-factory至少要配置5~6个属性(property),包括:connection.driver_class、connection.url、connection.username、 connection.password 、dialect。然后是二级子元素mapping,引入类的持久化映射文件。文件如下:
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <property name="myeclipse.connection.profile">    oracle</property>
    <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver
            </property>
            <property name="connection.username">hollycrm</property>
            <property name="connection.password">hollycrm</property>
            <property name="connection.url">
                jdbc:oracle:thin:@localhost:1521:XE
            </property>
            <property name="dialect">
                org.hibernate.dialect.OracleDialect
            </property>        
            <property name="show_sql">true</property>
            <mapping resource="domain/User.hbm.xml" />
        </session-factory>
    </hibernate-configuration>

  3、创建类的持久化映射文件。映射文件的命名规则为:类名.hbm.xml。文档元素是hibernate-mapping,二级子元素是class,属性等。具体参照如下:

    <?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="domain.User" table="users">
            <id name="id" type="string" column="id" >
                <generator  class="assigned"></generator>
            </id>
            <property name="name" type="string" column="name"/>
            <property name="age" type="integer" column="age"/>   
        </class>
    </hibernate-mapping>

  4、测试:
    public static void main(String[] args){
            User user= new User("1","zhang",23);
            Configuration config=new Configuration();
            config.configure();
            SessionFactory sf=config.buildSessionFactory();
            Session session=sf.openSession();
            Transaction tx=session.beginTransaction();
            session.save(user);
            tx.commit();
            session.close();
    }
搜索更多相关主题的帖子: hibernate  初级  记录  学习  
本帖最近评分记录
  • maxliz 积分 +1 鼓励原创 。 建议学习xml配置时也学下anno ... 2010-11-19 17:04
2010-11-19 08:43:21
lvsuperman

来 自:山东
等 级:论坛游民
帖 子:6
专家分:29
注 册:2010-11-16
2
  得分:14 
其实我挺讨厌弄这个的,找个模范文本改一下内容即可。懒人万岁
----------------解决方案--------------------------------------------------------
谢谢分享啊
----------------解决方案--------------------------------------------------------
这个Annotation已经很方便了,不需要配置 类名.hbm.xml, 直接使用Annotation更方便
----------------解决方案--------------------------------------------------------
   同意楼上的说法。我也是刚学,但我也认为是@配置比hbm.xml要好!!
   一直也是这样做的!!


----------------解决方案--------------------------------------------------------
  相关解决方案