Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

परिणामसेट का उपयोग करके एकाधिक रिकॉर्ड प्रदर्शित करना

पहले एक जावाबीन वर्ग बनाएं जो तालिका की एक पंक्ति का प्रतिनिधित्व करता है। मुझे नहीं पता कि आप किस डेटा के बारे में बात कर रहे हैं, लेकिन चलिए एक User लेते हैं वास्तविक दुनिया के उदाहरण के रूप में:

public class User {
    private Long id;
    private String name;
    private Integer age;
    // Add/generate public getters and setters.
}

उपरोक्त निश्चित रूप से एक उदाहरण है। वास्तविक डेटा जो दर्शाता है उसके अनुसार आपको वर्ग और गुणों का नाम देना होगा।

अब डीएओ क्लास बनाएं जो जेडीबीसी की मदद से वांछित डेटाबेस इंटरेक्शन कार्य करता है। आपको केवल यह सुनिश्चित करने की आवश्यकता है कि आपके पास क्लासपाथ में सही SQL सर्वर JDBC ड्राइवर है। मैं इसके लिए जेटीडीएस की सिफारिश कर सकता हूं क्योंकि यह माइक्रोसॉफ्ट के अपने जेडीबीसी ड्राइवरों की तुलना में काफी बेहतर और तेज है। ठीक है, मान लेते हैं कि आप सभी User को सूचीबद्ध करना चाहते हैं s जिनकी age समान है :

public List<User> listByAge(Integer age) throws SQLException {
    Connection connection = null;
    PreparedStatement statement = null;
    ResultSet resultSet = null;
    List<User> users = new ArrayList<User>();

    try {
        connection = database.getConnection();
        statement = connection.prepareStatement("SELECT id, name, age FROM user WHERE age = ?");
        statement.setInt(1, age);
        resultSet = statement.executeQuery();
        while (resultSet.next()) {
            User user = new User();
            user.setId(resultSet.getLong("id"));
            user.setName(resultSet.getString("name"));
            user.setAge(resultSet.getInt("age"));
            users.add(user);
        }
    } finally {
        if (resultSet != null) try { resultSet.close(); } catch (SQLException logOrIgnore) {}
        if (statement != null) try { statement.close(); } catch (SQLException logOrIgnore) {}
        if (connection != null) try { connection.close(); } catch (SQLException logOrIgnore) {}
    }

    return users;
}

अब एक सर्वलेट क्लास बनाएं UsersServlet जो doGet() . में डेटा की प्रीप्रोसेसिंग करता है विधि।

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    List<User> users = userDAO.list();
    request.setAttribute("users", users);
    request.getRequestDispatcher("/WEB-INF/users.jsp").forward(request, response);
}

इस सर्वलेट को web.xml में निम्नानुसार मैप करें:

    <servlet>
        <servlet-name>users</servlet-name>
        <servlet-class>mypackage.UsersServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>users</servlet-name>
        <url-pattern>/users</url-pattern>
    </servlet-mapping>

<url-pattern> पर ध्यान दें , आप इस सर्वलेट को http://example.com/context/users . द्वारा निष्पादित कर सकते हैं ।

अब एक JSP फाइल बनाएं users.jsp जिसे आप WEB-INF . में डालते हैं फ़ोल्डर ताकि सर्वलेट का उपयोग किए बिना कोई भी इसे सीधे एक्सेस न कर सके। आप JSTL c:forEach . का उपयोग कर सकते हैं एक List . पर पुनरावृति करने के लिए :

<table>
    <thead>
        <tr><th>ID</th><th>Name</th><th>Age</th></tr>
    </thead>
    <tbody>
        <c:forEach items="${users}" var="user">
            <tr><td>${user.id}</td><td>${user.name}</td><td>${user.age}</td></tr>
        </c:forEach>
    </tbody>
</table>

इसे http://example.com/context/users . द्वारा निष्पादित करें . यही होना चाहिए।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SELECT DISTINCT विभिन्न मामलों पर ध्यान नहीं देता

  2. SQL सर्वर प्रबंधन स्टूडियो में याद किए गए लॉगिन और पासवर्ड सूची को हटाना

  3. SQL सर्वर 2017:Linux पर उपलब्ध सुविधाएँ

  4. SQL सर्वर रिकर्सिव सेल्फ जॉइन

  5. विभिन्न एल्गोरिदम का उपयोग करके यूयूआईडी टकराव का जोखिम