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