Java 如何在Spring配置文件中配置Hibernate

Java 如何在Spring配置文件中配置Hibernate,java,spring,hibernate,spring-mvc,Java,Spring,Hibernate,Spring Mvc,我正在学习SpringMVC和Hibernate。我使用SpringMVC(MySql数据库)处理数据库连接和查询没有问题 现在,我正在尝试使用Hibernate,我发现它很复杂: 创建hibernate配置文件,创建用于检索SessionFactory的类,为任何持久对象创建xml文件等 我相信有一种最简单的方法可以让我使用以下工具轻松进行配置: SpringXML配置文件 注释(在持久对象类中) 我想达到的是如下的目标。我在一个例子中看到了一个类似的代码,但现在我再也无法在互联网上找到它了

我正在学习SpringMVC和Hibernate。我使用SpringMVC(MySql数据库)处理数据库连接和查询没有问题

现在,我正在尝试使用Hibernate,我发现它很复杂: 创建hibernate配置文件,创建用于检索SessionFactory的类,为任何持久对象创建xml文件等

我相信有一种最简单的方法可以让我使用以下工具轻松进行配置:

  • SpringXML配置文件
  • 注释(在持久对象类中)
  • 我想达到的是如下的目标。我在一个例子中看到了一个类似的代码,但现在我再也无法在互联网上找到它了

    xxxx-servlet.xml

    <bean id="SessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
            <property name="dataSource" ref="dataSource" />
            <property name="packagesToScan" value="com.springgestioneerrori.model" />
            <property name="hibernateProperties">
                <props>
                    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                    <prop key="hibernate.connection.autocommit">true</prop>
                    <prop key="hibernate.show_sql">false</prop>
                    <prop key="hibernate.format_sql">true</prop>
                    <prop key="hibernate.use_sql_comments">false</prop>
                </props>
            </property>       
        </bean>
    
    
    
    
    
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" >
             <property name="driverClass" value="com.mysql.jdbc.Driver" />
            <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/dbName" />
            <property name="user" value="root" />
            <property name="password" value="root" />                   
     </bean>
    
    
    org.hibernate.dialogue.mysqldialogue
    真的
    假的
    真的
    假的
    
    在上面的代码中,我认为不正确的是我的数据源bean。有人知道实现我目标的方法吗


    谢谢大家

    我认为“数据源”bean中的属性名称应该如下所示:

            <property name="driverClassName" value="com.mysql.jdbc.Driver" />
            <property name="url" value="jdbc:mysql://localhost:3306/dbName" />
            <property name="username" value="root" />
            <property name="password" value="root" />
    
    
    
    因此,它应该是driverClassName,而不是driverClassName,依此类推

    请参考这个答案,它讨论了如何使用SpringDriverManager数据源与apache BasicDataSource


    希望这对您有所帮助

    一切都必须正确,但我想让您使用*.properties来保持与数据库的连接配置

    在appContext.xml中:

    <!-- JDBC DataSource bean -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${jdbc.driverClassName}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>
    
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:properties/database.properties</value>
            </list>
        </property>
    </bean>
    

    还有什么会妨碍您在类中使用注释?

    从我正在进行的项目中可以看出,您答案中的属性名称是正确的。是的,谢谢。现在,当我启动eclipse时,我没有得到任何错误。谢谢你。实际上,我已经使用了一个属性文件,我删除了它的代码,只是为了更容易阅读这篇文章。嗯,没有什么能阻止我使用注释,我想说的是,我只想使用spring配置文件和注释,而不是用于检索SessionFactory的类,用于任何持久对象的xml文件等。
    jdbc.driverClassName = com.mysql.jdbc.Driver
    jdbc.schema = schema
    jdbc.url = jdbc:mysql://localhost:3306/schema
    jdbc.username = root
    jdbc.password = password