2014-10-06 3 views
2

Я изучаю Spring MVC и Hibernate. У меня не было проблем с обработкой подключений к базе данных и запросов с помощью Spring mvc (MySql DB).Как настроить Hibernate внутри файла конфигурации Spring

Теперь я пытаюсь использовать спящий режим, и я нашел его запутанным: создать конфигурационный файл гибернации, создать класс для извлечения SessionFactory, создать файл XML для любого постоянного объекта и т.д.

Я уверен, что есть простой способ, который позволит мне сделать простую конфигурацию, используя только:

  1. конфигурационный файл XML Spring
  2. аннотацию (в упорных классов объектов)

Что я хочу достичь, это примерно следующее. Я видел подобный код в примере, но теперь я не более в состоянии найти его в Интернете

хххх-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> 

В приведенном выше коде, я полагаю, что то, что это Неправильно мой компонент dataSource. Кто-нибудь знает, как достичь моей цели?

Спасибо всем!

ответ

1

я думаю, что ваши свойства имен внутри боба в «Источник данных» должен быть как следующее:

 <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" /> 

так вместо driverClass, он должен быть driverClassName и так далее ..

и, пожалуйста, обратитесь на этот ответ here, он говорит об использовании Spring DriverManagerDataSource vs apache BasicDataSource.

Надежда, что помогает

+0

Имена свойств в вашем ответе верны из того, что я могу сказать из проекта, над которым я работаю. – Tobb

+0

так его работает? или что ? –

+0

Да, человек, спасибо. Теперь, когда я запускаю eclipse, я не получаю никаких ошибок. – MDP

1

Все должно быть правильно, но я хотел бы предложить вам использовать * .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> 

в database.properties:

jdbc.driverClassName = com.mysql.jdbc.Driver 
jdbc.schema = schema 
jdbc.url = jdbc:mysql://localhost:3306/schema 
jdbc.username = root 
jdbc.password = password 

А что мешает вам использовать аннотации в своих классах?

+0

Спасибо, человек. На самом деле я уже использую файл свойств, я удалил его код, чтобы упростить чтение этого сообщения. Ну, ничто не мешает мне использовать аннотации, я пытался сказать, что хочу использовать только весенний конфигурационный файл и аннотацию вместо класса для извлечения SessionFactory, xml-файла для любого постоянного объекта и т. Д. – MDP