在向大家详细介绍Hibernate加载配置文件之前,首先让大家了解下使用Hibernate的经验,然后全面介绍Hibernate加载配置文件。
Hibernate是一个流行的开源对象关系映射工具,单元测试和持续集成的重要性也得到了广泛的推广和认同,在采用了Hibernate的项目中如何保证测试的自动化和持续性呢?本文讨论了Hibernate加载配置文件Hibernate.properties和Hibernate.cfg.xml的过程,以及怎么样将Hibernate提供的配置文件的访问方法灵活运用到单元测试中。
注意:本文以Hibernate2.1作为讨论的基础,不保证本文的观点适合于其他版本。
对于Hibernate的初学者来说,***次使用Hibernate的经验通常是:
1.安装配置好Hibernate,我们后面将%Hibernate_HOME%作为对Hibernate安装目录的引用,
2.开始创建好自己的***个例子,例如Hibernate手册里面的类Cat,
3.配置好hbm映射文件(例如Cat.hbm.xml,本文不讨论这个文件内配置项的含义)和数据库(如hsqldb),
4.在项目的classpath路径下添加一个Hibernate.cfg.xml文件,如下(***次使用Hibernate最常见的配置内容):
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE hibernate-configuration
- PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
- <hibernate-configuration>
- <session-factory>
- <property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
- <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
- <property name="connection.username">sa</property>
- <property name="connection.password"></property>
- <property name="dialect">net.sf.hibernate.dialect.HSQLDialect</property>
- <property name="hibernate.show_sql">false</property>
- <mapping resource="Cat.hbm.xml"/>
- </session-factory>
- </hibernate-configuration>
5.然后还需要提供一个类来测试一下创建,更新,删除和查询Cat,对于熟悉JUnit的开发人员,可以创建一个单元测试类来进行测试,如下:
- import junit.framework.TestCase;
- import net.sf.hibernate.HibernateException;
- import net.sf.hibernate.Session;
- import net.sf.hibernate.Transaction;
- import net.sf.hibernate.cfg.Configuration;
- public class CatTest extends TestCase {
- private Session session;
- private Transaction tx;
- protected void setUp() throws Exception {
- Configuration cfg = new Configuration().configure();
- //注意这一行,这是本文重点讨论研究的地方。
- session = cfg.buildSessionFactory().openSession();
- tx = session.beginTransaction();
- }
- protected void tearDown() throws Exception {
- tx.commit();
- session.close();
- }
- public void testCreate() {
- //请在此方法内添加相关的代码,本文不讨论怎么样使用Hibernate API。
- }
- public void testUpdate() {
- //请在此方法内添加相关的代码,本文不讨论怎么样使用Hibernate API。
- }
- public void testDelete() {
- //请在此方法内添加相关的代码,本文不讨论怎么样使用Hibernate API。
- }
- public void testQuery() {
- //请在此方法内添加相关的代码,本文不讨论怎么样使用Hibernate API。
- }
- }
以上介绍Hibernate加载配置文件。
【编辑推荐】