2015-08-14 2 views
0

-им начинающих в Java Servlet ... я работаю на творог операции ... ... данные не отображаются, пожалуйста, скажи мне, где им неправильно ....как извлекать данные из базы данных в сервлете

DAO. Java

public void select(){ 

     try{ 
      Class.forName(jdbcDriver); 
      Connection conn = DriverManager .getConnection(connectionString,username,password); 
     PreparedStatement create = conn.prepareStatement("select * from student.users"); 

      ResultSet rs; 
      rs = create.executeQuery(); 
      while(rs.next()){ 
       int id =rs.getInt("id"); 
       String name = rs.getString("fname"); 

      } 
      } 
      catch(Exception e){ 
       e.printStackTrace(); 
      } 

    } 

servlet.java

DAO user = new DAO(); /// i create object of DAO 
user.select(); //calling select method 

out.write("<td>"); 
        out.write("<p>"+user.id+"</p>"); ///tried many from different way 
      out.write("</td>"); 
      out.write("<td>"); 
        out.write("<p>"+user.name+"</p>"); /// 
      out.write("</td>"); 

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

ответ

0

Я вижу там некоторые проблемы. Сначала я думаю, что ваш метод select должен возвращать список пользователей. Таким образом, вы можете осуществить это как ниже

public List<User> select(){ 
    List<User> result = new ArrayList<User>(); 
    try{ 
     Class.forName(jdbcDriver); 
     Connection conn = DriverManager .getConnection(connectionString,username,password); 
    PreparedStatement create = conn.prepareStatement("select * from student.users"); 

     ResultSet rs; 
     rs = create.executeQuery(); 
     while(rs.next()){ 
      int id =rs.getInt("id"); 
      String name = rs.getString("fname"); 
      User user = new User(); // Creating a user object to fill with user data (I imagine that you have a user class in your model) 
      user.setId(id); 
      user.setName(name); 
      //Add the retrived user to the list 
      result.add(user); 

     } 
     //Returning the list of users. 
     return result; 
    }catch(Exception e){ 
     e.printStackTrace(); 
     return null; 
    } 

} 

Так что в вашем сервлет вы можете вызвать этот метод, чтобы вернуть этот список и показать его.

DAO daoUser = new DAO(); /// i create object of DAO 
List<User> users = daoUser.select(); //calling select to get list of users 
out.write("<table>"); 
for(User user : users){ //Running through the list to show all users retrived 
    out.write("<td>"); 
    out.write("<p>"+user.id+"</p>");  
    out.write("</td>"); 
    out.write("<td>"); 
    out.write("<p>"+user.name+"</p>"); /// 
    out.write("</td>"); 
} 
out.write("</table>"); 

Вот и все. Логика в том, что я не уверен, что она сработает, может забыть о некоторых деталях, но это способ сделать. Надеюсь, что помогает.

 Смежные вопросы

  • Нет связанных вопросов^_^