2015-04-06 137 views
0

如何在spring mvc中集成hibernateUtil和hibernate.cgf.xml? Witch XML文件应该如何配置dao-context.xml或store-servlet.xml? enter image description hereSpring mvc Hibernate集成

商店-servlet.xml中

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"> 


    <context:component-scan base-package="com.web.controller"></context:component-scan> 
    <mvc:annotation-driven></mvc:annotation-driven> 

    <bean id="jspViewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
     <property name="prefix" value="/WEB-INF/views/"></property> 
     <property name="suffix" value=".jsp"></property> 
    </bean> 

</beans> 

道的context.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" 
    xsi:schemaLocation="http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.2.xsd 
     http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"> 


    <context:annotation-config></context:annotation-config> 
    <context:component-scan base-package="com.web.dao"></context:component-scan> 

</beans> 

服务的context.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd"> 


    <context:annotation-config></context:annotation-config> 
    <context:component-scan base-package="com.web.service"> 
    </context:component-scan> 
</beans> 

的hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?> 
<!DOCTYPE hibernate-configuration PUBLIC 
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
     "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 

    <session-factory> 

     <!-- Database connection settings --> 
     <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
     <property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property> 
     <property name="hibernate.default_schema">COMPTE</property> 
     <property name="connection.username">compte</property> 
     <property name="connection.password">compte</property> 

     <!-- JDBC connection pool (use the built-in) --> 
     <property name="connection.pool_size">1</property> 

     <!-- SQL dialect --> 
     <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property> 

     <!-- Disable the second-level cache --> 
     <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> 

     <property name="hibernate.current_session_context_class">thread</property> 

     <!-- Echo all executed SQL to stdout --> 
     <property name="show_sql">true</property> 

     <!-- Drop and re-create the database schema on startup --> 
     <!-- Importante pour la creation a zero "create"/"update" de table --> 
     <property name="hbm2ddl.auto">update</property> 

     <!-- Names the annotated entity class --> 
     <mapping class="com.web.dao.User"/> 
     <mapping class="com.web.dao.Ville"/> 
     <mapping class="com.web.dao.Compte"/> 

    </session-factory> 

</hibernate-configuration> 

HibernateUtil.java

package com.web.util; 

import org.hibernate.SessionFactory; 
import org.hibernate.cfg.AnnotationConfiguration; 


@SuppressWarnings("deprecation") 
public class HibernateUtil { 

    private static SessionFactory sessionFactory; 

    static{ 
     try { 
      sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory(); 
      //sessionFactory = new Configuration().configure().buildSessionFactory(); 
     } catch (Throwable e) { 
      throw new ExceptionInInitializerError(e); 
     } 
    } 

    public static SessionFactory getSessionFactory(){ 
     return sessionFactory; 
    } 

    public static void shutDown(){ 
     //closes caches and connections 
     getSessionFactory().close(); 
    } 
} 
+0

为什么不使用注释?看看这个http://techieme.in/xml-free-spring-hibernate-configuration/ – dharam

回答

0

如何的HibernateUtil和hibernate.cgf.xml集成Spring MVC中?

  • 的hibernate.cfg.xml:这是加载数据库配置和映射文件中的实体主要Hibernate配置文件。这必须是项目内部的类路径位置。默认情况下,hibernate会查找classpath目录的根目录。如果要使用不同的位置,则必须在加载配置时将该位置传递给配置对象。并且在这里您必须定义数据库详细信息和映射文件位置。

  • 的HibernateUtil:其实,没有集成这个类在春季mvc.So这是实现一个DAO和手动控制Hibernate会话和事务的简单方法。