学习的第二个框架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的很多的知识还等着我去整体!加油吧!!!!