spring2+hibernate3最简化配置及示例开发

来源:互联网 发布:淘宝上的催情药有用吗 编辑:程序博客网 时间:2024/06/07 03:39

基于前面一篇blog文档《tomcat6.0+struts2.2.1+spring2.5.6+ibatis2.3.4+mysql5.1最简开发环境配置及样例开发》,可将ibatis2.3.4轻易地换成hibernate3。

 

一、spring集成hibernate3配置

1、下载hibernate3的jar包,官方下载地址:http://sourceforge.net/projects/hibernate/files/hibernate3/,最好下3.1以后的版本。

2、下载后解压缩在lib目录下获取hibernate3.jar以及lib/required目录下的所有jar包,拷贝到test工程的WEB-INF/lib目录下;

3、我用的hibernate3.3.1.GA版本好像少了slf4j-jcl-1.5.2.jar包,可到slf4j官方网下载:http://www.slf4j.org/dist/

4、工程applicationContext.xml配置文件配置内容(主要就是配置sessionFactory):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "
http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
 <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
  <property name="jndiName" value="java:comp/env/mysqlDBConPool" />
 </bean>
 <bean id="sessionFactory"
  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource">
   <ref bean="dataSource" />
  </property>
  <property name="hibernateProperties">
   <props>
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
   </props>
  </property>
  <property name="mappingResources">
   <list>
    <value>user.hbm.xml</value>
   </list>
  </property>
 </bean>
 <bean id="demoDao" class="DemoDaoImpl">
  <property name="sessionFactory">
   <ref local="sessionFactory" />
  </property>
 </bean>
 <bean id="demoAction" class="DemoAction">
  <property name="demoDao" ref="demoDao" />
 </bean>
</beans>

 

二、Demo样例开发

1、新增user.hbm.xml配置文件(与上面applicationContext.xml中配置的文件名一致),配置内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "
http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
 <class name="User" table="user">
  <id name="id" column="id" type="java.lang.String">
   <generator class="assigned" />
  </id>
  <property name="name" type="java.lang.String" column="name" />
 </class>
</hibernate-mapping>

 

2、DemoDaoImpl实现类代码:

public class DemoDaoImpl extends HibernateDaoSupport implements DemoDao
{
    public User queryUser(User user)
    {
        return (User)getHibernateTemplate().get("User", user.getId());
    }
}