Sql server 使用resultset显示多条记录

Sql server 使用resultset显示多条记录,sql-server,servlets,jdbc,Sql Server,Servlets,Jdbc,如何使用result set语句显示数据库中具有相同字段值的多条记录您必须创建一个POJO来存储通过查询获得的数据,然后通过ResultSet您可以迭代从DB查询执行中获得的每一行 因此,您将得到一个对象列表(POJO)。这可以用在任何你想用的地方。 首先创建一个Javabean类,它表示表的一行。我不知道你在说什么数据,但让我们以一个用户为例: public class User { private Long id; private String name; priv

如何使用result set语句显示数据库中具有相同字段值的多条记录您必须创建一个POJO来存储通过查询获得的数据,然后通过ResultSet您可以迭代从DB查询执行中获得的每一行

因此,您将得到一个对象列表(POJO)。这可以用在任何你想用的地方。


首先创建一个Javabean类,它表示表的一行。我不知道你在说什么数据,但让我们以一个
用户
为例:

public class User {
    private Long id;
    private String name;
    private Integer age;
    // Add/generate public getters and setters.
}
以上当然是一个例子。您需要根据实际数据所代表的内容来命名类和属性

现在创建DAO类,它在的帮助下执行所需的数据库交互任务。您只需要确保类路径中有正确的SQL Server JDBC驱动程序。我可以推荐它,因为它比微软自己的JDBC驱动程序更好更快。好的,假设您想列出所有年龄相同的
用户

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;
}
将此servlet映射到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>
通过
http://example.com/context/users
。应该是这样

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