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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Авторизация(struts+hibernate+spring), проблема. 
V
    Опции темы
Kangaroo
Дата 26.2.2008, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


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

Репутация: 14
Всего: 104



lv151
я даже уже и не знаю, что подсказать  smile 

Попробуй поиграться с файлом маппинга - убери переводы строки в тегах, сделай самый простой возможный маппинг, а потом уже добавляй необязательные аттрибуты.


--------------------
Lost....
PM MAIL MSN   Вверх
lv151
Дата 26.2.2008, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Не знаешь толковую статью по данной теме?
Нашёл на roseindia, вожусь с данным примером, но ничего не получается.


PM MAIL   Вверх
Todd
Дата 28.2.2008, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Покажи web.xml
PM MAIL   Вверх
lv151
Дата 2.3.2008, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Уже разобрался.
Проблема в другом smile.

Как пример использую этот код.
Через обычные запросы чел получает ID,username.


У меня же  есть подчинённая таблица, т.е. на каждому пользователю соответствует продукт. Как мне построить логику приложения, чтобы 
пользователь мог вставлять данные в подчинённую таблицу?
Код

package roseindia.dao;

import java.util.ArrayList;
import java.util.Collection;

import java.util.*;


import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.hibernate.criterion.*;

import roseindia.web.common.UsersList;

import roseindia.dao.hibernate.*;



//Java Imports
import java.sql.*;


/**
 * Hibernate implementation of the JobModule interface.
 * 
 * <p>
 * The mappings are defined in "roseindia.hbm.xml", located in the root of the
 * classpath.
 * 
 * @author Deepak Kumar
 * @since 07-Oct-2006
 */
public class SpringHibernateDAOImpl extends HibernateDaoSupport implements
        SpringHibernateDAO {

    
//check admin login 

    public boolean checkUserLogin(String strUserName, String strPassword) throws DataAccessException,java.sql.SQLException{
        boolean valid = false;
        Connection conn = this.getSession().connection();
        //Write jdbc code to validate the user against database
        Statement smt = conn.createStatement();
        ResultSet rs;
        //write select query for checking password 
        
        String query="select id from login where loginid='"+strUserName+"' and password='"+strPassword+"'";
        rs=smt.executeQuery(query);
        
        if(rs.next()== true){
            valid=true;
            
        }else{
            valid=false;
        }
        
        smt.close();
        rs.close();
        conn.close();
        
        return valid;
        
        
    }

    
    public void addUser(roseindia.dao.hibernate.Login obj) throws DataAccessException{
        getHibernateTemplate().save(obj);
}

public void updateUser(roseindia.dao.hibernate.Login obj) throws DataAccessException{
        getHibernateTemplate().update(obj);
}


public roseindia.dao.hibernate.Login loadUser(String id) throws DataAccessException{
    //return getHibernateTemplate().find("from roseindialocal.dao.hibernate.Article obj where obj.id = '" + id + "'");
            return (roseindia.dao.hibernate.Login) getHibernateTemplate().get(Login.class,new Integer(id));
}
    
public boolean checkValidUserName(String strUserid) throws DataAccessException,java.sql.SQLException{
    boolean valid = false;
    Connection conn = this.getSession().connection();
    //Write jdbc code to validate the user against database
    Statement smt = conn.createStatement();
    ResultSet rs;
    //write select query for checking password 
    
    String query="select id from login where loginid='"+strUserid+"'";
    rs=smt.executeQuery(query);
    
    
    if(rs.next() == true){
        
        valid=true;
        
    }else{
        valid=false;
    }
    
    smt.close();
    rs.close();
    conn.close();
    
    
    return valid;
}


//get latest jobs
public Collection getUsersList()throws DataAccessException,java.sql.SQLException{
    
    
    
    Connection conn = this.getSession().connection();
    
    //Write jdbc code 
    Statement smt = conn.createStatement();
    
    ResultSet rs=null;
    
    ArrayList list = new ArrayList();
    
    String query="SELECT id,loginid positionVacant FROM login";
    
    
    
    rs=smt.executeQuery(query);
    
    
    
    while(rs.next()){
        
        UsersList userslist =new UsersList();
        
        int jobid=rs.getInt("id");
        userslist.setId(jobid);
        
        String loginid=rs.getString("loginid");
        userslist.setLoginid(loginid);
                
    list.add(userslist);
 
    }
    
    rs.close();
    smt.close();
    conn.close();
    
    
    return list;
}

public int getUserId(String strUserid) throws DataAccessException,java.sql.SQLException{
    
    Connection conn = this.getSession().connection();
    //Write jdbc code to validate the user against database
    Statement smt = conn.createStatement();
    ResultSet rs;
    //write select query for checking password 
    
    String query="select id from login where loginid='"+strUserid+"'";
    rs=smt.executeQuery(query);
    rs.next();
    
    int id=rs.getInt("id");
    
    
    smt.close();
    rs.close();
    conn.close();
    return id;
}

// retrive user forget password
public String[] retriveUserForgetPassword(String strUserName, String strEmail) throws DataAccessException,java.sql.SQLException{
    //boolean valid = false;
    
    
    
    
    Connection conn = this.getSession().connection();
    //Write jdbc code to validate the user against database
    Statement smt = conn.createStatement();
    
    ResultSet rs;
    String query;
    
    
    //write select query for checking password 
     
    if(strUserName != ""){
              
              query="select password,email,loginid from login where loginid='"+strUserName+"'";

         }else{
              query="select password,email,loginid from login where email='"+strEmail+"'";
         }
    
    rs=smt.executeQuery(query);
    

     
    String[] returnValues = new String[3];  
     
        
    
    while(rs.next()){
    
        
            
            returnValues[0]=rs.getString("password");
            
            returnValues[1]=rs.getString("email"); 
        
            returnValues[2]=rs.getString("loginid"); 
             
        
    }
    
    smt.close();
    rs.close();
    conn.close();
    
    if(returnValues[0] != null){
         
        return returnValues;
    
    }    else{
        String[] errorValues = new String[2];  
        errorValues[0]="error";
        return errorValues;
    }
}

// 


}


p.s. подскажите пример struts+hibernate+spring


Это сообщение отредактировал(а) lv151 - 2.3.2008, 21:57
PM MAIL   Вверх
Kangaroo
Дата 2.3.2008, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


AA - Aussie Animal
****


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

Репутация: 14
Всего: 104



Цитата(lv151 @  2.3.2008,  20:54 Найти цитируемый пост)
Уже разобрался.

Поделитесь! Не зря же мы столько думали, интересно в чем был глюк smile 


Цитата(lv151 @  2.3.2008,  20:54 Найти цитируемый пост)
Как мне построить логику приложения, чтобы 
пользователь мог вставлять данные в подчинённую таблицу?

Непонятно. Что нужно? Что не получается?


--------------------
Lost....
PM MAIL MSN   Вверх
lv151
Дата 2.3.2008, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я последовал Вашему совету:

Попробуй поиграться с файлом маппинга - убери переводы строки в тегах, сделай самый простой возможный маппинг, а потом уже добавляй необязательные аттрибуты.

Я подозреваю, что небыло поля ID, но это предположение.
Я сделал так:

Код

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping auto-import="true" default-lazy="false">

<class 
    name="dummies.struts.UserInformation" 
    table="login"
>
    <id
        name="id"
        type="java.lang.Double"
        column="id"
    >
        <generator class="increment" />
    </id>

    <property
        name="login"
        type="java.lang.String"
        column="login"
        not-null="true"
        unique="true"
        length="100"
    />
    <property
        name="password"
        type="java.lang.String"
        column="password"
        not-null="true"
        length="100"
    />
    
</class>
</hibernate-mapping>



Непонятно. Что нужно? Что не получается? 

Проблема в том, что автор статьи получает id пользователя не через Persistent-класс, а простым HQL запросом.
У меня Parent/Child таблицы, т.е. первая пользователи, вторая продукты. Как лучше поступить:
Код

/////////////////////////////////////////////////////////////////////////
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping 
    PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" 
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">

<hibernate-mapping>
    <class name="Group" table="grouptable">
         <id name="id" unsaved-value="0">
            <generator class="increment"/>
        </id>
        
        <list name="stories" cascade="all">
            <key column="parent_id"/>
            <index column="idx"/>
            <one-to-many class="Story"/>
        </list>
        <property name="name" type="string"/>
    </class>
    <class name="Story" 
         table="story">
         <id name="id" unsaved-value="0">
            <generator class="increment"/>
        </id>
          <property name="info"/>
    </class>
</hibernate-mapping>

(это не мой конфиг, это для примера) или вставлять данные в child таблицу HQL запросом, ID пользователя, в этом случае, как параметр?

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

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

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


 




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


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

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