chengxu1234567 2020-06-06 12:10 采纳率: 50%
浏览 329
已采纳

跪求sql编写(遍历表里所有数据 pstmt 好人一生平安=-=)

跪求求遍历数据库方法
一般只能遍历出一行信息
一般只能获取一个类==
紧急!!!

图片说明
改为后
图片说明
可只能显示一条信息 还有大神知道为什么呢

  • 写回答

1条回答 默认 最新

  • TaylorLeeSwift 2020-06-06 12:17
    关注

    如果遍历的话是不是需要输出一个list
    这是我的方法,仅供参考

    public List<users> selectAll() throws Exception{
            List<users> list = new ArrayList<users>();
            //1.加载数据库驱动类
            Class.forName("com.mysql.cj.jdbc.Driver");
            //2.获取数据库连接
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/taylorlee?useSSL=false&serverTimezone=UTC","root","lym222");
            //3.获取数据库的执行对象
            //Connection conn = getConn();
            String sql = "select * from users";
            PreparedStatement ps = conn.prepareStatement(sql);
            //4.执行SQL语句
            ResultSet rs = ps.executeQuery();
    
            //5.处理结果集
            while(rs.next()){
                String id = rs.getString(1);
                String pwd = rs.getString(2);
                String name = rs.getString(3);
                String tel = rs.getString(4);
                users u = new users();
                u.setTel(tel);
                u.setUsername(name);
                u.setPassword(pwd);
                u.setUserid(id);
                list.add(u);
            }
            rs.close();
            ps.close();
            closeConn();
            return list;
        }
    
    

    这是你之后问的,我先贴上了jsp代码:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <%@ include file="test0531/head.jsp"%>
    
    
    
    <table border="1" width="600px">
        <tr>
            <td>编号</td>
            <td>用户名</td>
            <td>用户姓名</td>
            <td>联系方式</td>
            <td>可选操作</td>
        </tr>
        <%
            List<users> list = (List<users>)request.getAttribute("usersList");
            for(int i = 0;i<list.size();i++){
                users u = list.get(i);
        %>
            <tr>
                <td><%=i+1%></td>
                <td><%=u.getUserid()%></td>
                <td><%=u.getUsername()%></td>
                <td><%=u.getTel()%></td>
                <td>
                    <a href="CheckUserServlet?userid=<%=u.getUserid()%>">查看</a>
                    <a href="PreUpdateUserServlet?userid=<%=u.getUserid()%>">更改</a>
                    <a href="DeleteUserServlet?userid=<%=u.getUserid()%>">删除</a>
                </td>
            </tr>
        <%
            }
        %>
    </table>
        <jsp:include page="test0531/footer.jsp"></jsp:include>
    </body>
    </html>
    

    但我没看到你的servlet代码,我把我的附上给你作参考吧:

    public class SelectAllUsersServlet extends HttpServlet {
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            this.doGet(request,response);
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            try {
                usersDao usersdao = new usersDao();
                List<users> usersList = usersdao.selectAll();
                request.setAttribute("usersList",usersList);
                //必须使用请求转发跳转
                request.getRequestDispatcher("usersList.jsp").forward(request,response);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    我也是最近才学习的javaWeb,正好碰上实验课有这个内容,希望对你有帮助

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作