学习的第二个框架hibernate

今天学习了hibernate的有关的一些知识,我想把整个的有hibernate的步骤写出来,以便今后的一些复习工作,

  为什么要有hibernate,这还是主要由于在开发的设计模式中,你不可能要求一个开发者,既要熟悉OR之间的关系,又要熟悉RR之间的开发关系,所以使用了,hibernate就可以很好的代替了这种OR之间的关系,就是是程序的开发者,可以很好的提高这个程序的开发效率。

  使用hibernate的几个步骤,也在这里说明一下

  第一:导入相应的jar包

    这里的导包,要注意,这不跟我们的struts导包一样,就是一个劲的导入就行,要注意的地方很多,首先是导入你的数据库的链接包,比如你要用到的mysql的驱动包,或者又是oracle的,第二步是导入相应的核心jar包,第三步是导入requerd底下的所有的包,然后再导入bycode底下的cglib底下的包再导入进去,这里还是说明一下,为什么要导入这个包,这是因为在sj4j和各个的日志文件之间会有一个转换器,比如log4j之间的要进行转换的话,就必须要有文件之间的转换,一般用到的是log4j,和本身自带的,自带的话就导入,sl4j-nop这个jar包,好这里就是所有要导入的包了,

  第二:填好配置文件

    先是总的配置文件,总的配置文件在project底下的etc底下的Hibernate.cfg.xml复制到src底下,里面的相应的代码,我也贴上来,可以学习下!~

 

<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
<session-factory name="foo">
    <property name="show_sql">true</property>
    <property name="myeclipse.connection.profile">Mysql</property>
    <property name="connection.url">jdbc:mysql:///test</property>
    <property name="connection.username">root</property>
    <property name="connection.password">root</property>
    <property name="connection.driver_class">
        com.mysql.jdbc.Driver
    </property>
    <property name="dialect">
        org.hibernate.dialect.MySQL5Dialect
    </property>
    <property name="format_sql">true</property>
    <property name="hbm2ddl.auto">update</property>
    <property name="current_session_context_class">thread</property>
    <mapping resource="com/daijianwei/po/User.hbm.xml" />

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

第三;对整个的配置文件进行配置,
  在session-factory里面进行配置,标签的属性的为name,其中的数据库的连接的代码,hibernate也给我们提供了示例,这些示例你都可以在hibernate.properties中,可以找得到,。

第四,写一个实体类

  实体类中的东西,就是很简单一个po,还是贴出代码来吧,

package com.daijianwei.po;

public class User {
    private int id;
    private String username;
    private String password;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    
}

第五:把实体类的配置文件添加到主配置文件中,这里要用到mapping,代码就是一句话,<mapping resource="com/daijianwei/po/User.hbm.xml" />
   关键这里怎么去找到实体类的配置文件,我还是贴上我找到的代码的目录吧,以方便自己的学习!hibernate-distribution-3.5.5-Final\hibernate-distribution-3.5.5-Final\project\testing\src\main\java\org\hibernate\test\cache  这个文件夹中就有一个Item.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
    package="com.daijianwei.po">

    <class name="User" table="t_daijianwei">
        <id name="id">
            <generator class="native"/>
        </id>
        <property name="username" not-null="true" length="12"/>
        <property name="password" not-null="true" length="10"/>
    </class>

    

</hibernate-mapping>

这里的package是文件的po。还有一些类名,表名,还有主的字段名称都有! 字段当中的属性有很多,要用哪些,自己可以去加进去!

第七,写一个工具类吧,也就是关于,目的就是生成一张表,代码如下。,

package com.daijianwei.util;

import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class Test {
    public static void main(String[] args) {
        Configuration cfg = new Configuration().configure();
        SchemaExport se = new SchemaExport(cfg);
        se.create(true, true);
    }
}

第一句话,就是读取整个的配置文件的信息,第二就是创建SchemaExport 第三是创建表,记住有两个属性,还都是布尔类型的,都是true!!

到这里执行一下这个文件就可以创建出来一张表了!

以上就是hibernate的一些用法了。也是最简单的搭建!以后还有很多的hibernate的很多的知识还等着我去整体!加油吧!!!!

 

 

 

  

  

 

posted @ 2013-06-10 16:37  bod08daijianwei  阅读(188)  评论(0编辑  收藏  举报