Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> связь spring+hibernate, помогите вьехать 
:(
    Опции темы
Adept
Дата 14.9.2006, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Мне надо на jsp страницу вывести список юзеров. Изза моега плохого английского я несовсем вьзжаю.
Вот что у меня сделано:

класс PersonDAO.java
Код

public interface PersonDAO {        
    public abstract Person findById(Integer id);
}


класс PersonDAOImpl.java
Код

public class PersonDAOImpl extends HibernateDaoSupport implements PersonDAO{
    private SessionFactory sessionFactory;
    public Person findById(final Integer id) {
        HibernateTemplate hibernateTemplate =  new HibernateTemplate(this.sessionFactory);
        return (Person) hibernateTemplate.load(Person.class, id);
    }


класс Person.java
Код

public class Person {    
    private Long personId;
    private String surname;
    ......    
   public Long getPersonId() {
       return this.personId;
   }
   
   public void setPersonId(Long personId) {
       this.personId = personId;
   }

   public String getSurname() {
       return this.surname;
   }
   
   public void setSurname(String surname) {
       this.surname = surname;
   }
    .......
}


Person.hbm.xml
Код

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
    <class name="hibernate.Person" table="tbPerson" schema="dbo" catalog="WebminDB">
        <id name="personId" type="java.lang.Long">
            <column name="PersonID" precision="18" scale="0" />
            <generator class="assigned" />
        </id>
        <property name="surname" type="java.lang.String">
            <column name="Surname" length="100" not-null="true" />
        </property>
        .....
  </class>
</hibernate-mapping>



класс PersonController.java
Код

public class PersonController extends  AbstractController {
  public ModelAndView handleRequestInternal(
      HttpServletRequest request, HttpServletResponse response) 
      throws Exception {

        List allPerson = PersonDAOImpl.findById();    
    return new ModelAndView("PersonList", "persons", allPerson);
  }
  
 
}



Код

<?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.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName">
            <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value>
        </property>
        <property name="url">
            <value>jdbc:sqlserver://localhost;databaseName=WebminDB</value>
        </property>
        <property name="username">
            <value>sa</value>
        </property>
        <property name="password">
            <value>cbuyfk</value>
        </property>
    </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.SQLServerDialect</prop>
            </props>
        </property>
        <!--  OR mapping files. -->
        <property name="mappingResources">
          <list>
            <value>Person.hbm.xml</value>            
          </list>
        </property>        
    </bean>
    <bean id="hibernateTemplate"
       class="org.springframework.orm.hibernate.HibernateTemplate">
       <property name="sessionFactory">
         <ref bean="sessionFactory"/>
       </property>
    </bean>
    <bean id="PersonDAO" class="hibernate.PersonDAOImpl">
      <property name="hibernateTemplate">
        <ref bean="hibernateTemplate"/>
      </property>
    </bean>
    <bean id="personController" class="PersonController"/>
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
                    <props>
                        <prop key="/person.htm">personController</prop>
                    </props>
        </property>
    </bean>

    
</beans>

 и вывести на страницу?
PM MAIL   Вверх
tux
Дата 15.9.2006, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Не понятно, в чем проблема-то? Ты не знаешь как написать в Hibernate запрос получения списка пользователей, как результат запроса вывести в JSP или что-то еще? Поконкретнее пожалуйста.
PM MAIL Skype GTalk Jabber YIM   Вверх
Adept
Дата 15.9.2006, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 210
Регистрация: 10.7.2003
Где: Санкт-Петербург

Репутация: нет
Всего: 2



Мне неясно как правильно осуществить доступ к hibernate через HibernateTemplate.
Допустим надо получить список фамилий пользователей.
в классе PersonDAOImpl.java
Код

public List findPersonSurname() {
   return hibernateTemplate.find("select person.surname from Person person");
}

а в классемPersonController.java
Код

public class PersonController extends  AbstractController {
  public ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) 
      throws Exception {
    List allPerson = PersonDAOImpl.findPersonSurName();   ----  [B]тут оно ругается[/B]
    [B]Cannot make a static reference to the non-static method findPersonSurName() from the type 
 PersonDAOImpl[/B]
    return new ModelAndView("PersonList", "person", allPerson);
  } 
}

Что я неправильно делаю? 
и как результаты запроса вывести на jsp страницу?


PM MAIL   Вверх
tux
Дата 15.9.2006, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Так это ошибка компиляции? У тебя очевидно findPersonSurName() определен в классе PersonDAOImpl как обычный метод, а ты вызываешь его в строке 4 как статический.
PM MAIL Skype GTalk Jabber YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0841 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.