注册 登录
编程论坛 J2EE论坛

初级hibernate学习记录

西鄙人 发布于 2010-11-19 16:43, 694 次点击
本人菜鸟,刚开始学习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.
    <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.
   
    <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);
            ();
            session.close();
    }
4 回复
#2
lvsuperman2010-11-20 19:49
其实我挺讨厌弄这个的,找个模范文本改一下内容即可。懒人万岁
#3
y8391605262010-12-28 23:20
谢谢分享啊
#4
icejoywoo2010-12-30 21:59
这个Annotation已经很方便了,不需要配置 类名.hbm.xml, 直接使用Annotation更方便
#5
helin20102010-12-31 16:21
   同意楼上的说法。我也是刚学,但我也认为是@配置比hbm.xml要好!!
   一直也是这样做的!!

1