1.在使用Hibernate作为orm应用时推荐使用myeclipse作为开发工具
2.导入相应的Hibernate的jar包到webroot文件下的lib目录下(webroot–>web-inf—>lib)
关于Hibernate开发中jar导入的说明:
(1)在此提供一个Hibernate jar包下载链接,地址http://pan.baidu.com/s/1pKCl4EJ(百度云盘)
(2)下载好以后解压到某个文件夹里
(3)解压好以后,开发所需要的jar包在解压后的required包下,将该文件夹下的jar包复制到项目中
(4)另外还需要导入mysql的jdbc的驱动包
(5)最后还要导入单元测试工具的jar包,junit,在这里也提供一个资源下载地址:链接:http://pan.baidu.com/s/1c2F5TYS 密码:sqj1
3.在项目开发Hibernate项目流程:
【1】创建hibernate的配置文件
【2】创建持久化类
【3】创建对象关系映射文件
【4】通过Hibernate的API编写访问数据库的代码
下面就以上四点详细说明:
【1】创建hibernate的配置文件的操作:
首先在hibernate的解压包里找到hibernate配置文档的模板,路径是:……hibernate-release-4.2.21.Finalprojectetc 在这里也提供一个下载hibernate配置文档的下载链接:http://pan.baidu.com/s/1i5orw37
第二步在hibernate配置文档里配置进行基本的配置,模板如下:
<property name="connection.username">root</property>//配置数据库的用户名
<property name="connection.password">123456</property> //配置数据库的密码
<propertyname="connection.driver_class">com.mysql.jdbc.Driver</property> //配置连接mysql的jdbc
<propertyname="connection.url">jdbc:mysql://127.0.0.1:3306/hibernate?useUnicode=true&characterEncoding=UTF-8</property> //配置连接的数据库名及进行格式化防止乱码
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> //配置hibernate的方言
下面三个属性的配置可以直接复制:
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">create</property>
【2】创建持久化类
创建持久化类遵循javabean的设计原则:(1)必须是公有的类
(2)属性使用setter和getter方法
(3)提供公有的不带参数的默认的构造方法
(4)属性是私有的
最后编写一个带参数的构造方法,方便创建对象:
【3】创建对象关系映射文件
可以在解压后的hibernate包里,在搜索栏里输入*.hbm.xml,然后选择其中一个名为mouse.hbm.xml,将其复制到src目录下,然后将其改为和创建的持久化类同名的.hbm.xml文档,创建对象关系映射文件的作用是将实体类映射为数据库当中的一张表,把每一个属性映射为数据库当中表的一个字段,格式如下:
<hibernate-mapping>
<class name="Students" table="STUDENTS">
<id name="sid" type="int">
<column name="SID"></column>
<generator class="assigned"/>
</id>
<property name="sname" type="java.lang.String">
<column name="SNAME"></column>
</property>
<property name="gender" type="java.lang.String">
<column name="GENDER"></column>
</property>
<property name="birthday" type="java.util.Date">
<column name="BIRTHDAY"></column>
</property>
<property name="address" type="java.lang.String">
<column name="ADDRESS"></column>
</property>
</class>
</hibernate-mapping>
创建后关系映射文件以后,在hibernate.cfg.xml文档中加入这个关系映射文件,格式如下:
<session-factory >
<property name="connection.username">root</property>
<property name="connection.password">123456</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://127.0.0.1:3306/hibernate?useUnicode=true&characterEncoding=UTF-8</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="hbm2ddl.auto">create</property>
<mapping resource="Students.hbm.xml"/>
</session-factory>
【4】通过Hibernate的API编写访问数据库的代码
<初始化>
(1)创建configuration对象
(2)创建serviceRegistry对象
(3)创建sessionfactory对象
(4)创建session
(5)开启事务
<结束后销毁资源>
(1)提交事务
(2)关闭会话
(3)关闭会话工厂
<试用例方法>
(1)生成对象
(2)使用session的save方法保存对象
代码格式如下:
public class StudentsTest {
private SessionFactory sessionFactory;
private Session session;
private Transaction transaction;
@Before
public void init()
{
//创建注册对象
Configuration config = new Configuration().configure();
//创建服务注册对象
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
//创建会话工厂对象
sessionFactory = config.buildSessionFactory(serviceRegistry);
//创建会话对象
session = sessionFactory.openSession();
//开启事务
transaction = session.beginTransaction();
}
@After
public void destroy()
{
transaction.commit(); //提交事务
session.close(); //关闭会话
sessionFactory.close(); //关闭会话工厂
}
@Test
public void testSaveStudents()
{
//生成学生对象
Students s = new Students(1,"张三丰","男",new Date(),"武当山");
session.save(s); //保存对象,进入数据库
}
}
有兴趣可以参考我做的这个小项目,地址:
链接:http://pan.baidu.com/s/1miLvpJ6 密码:aaax