關鍵字查詢,模糊查詢,查詢全部信息

Mybatis實例:
       protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        try {
            req.setCharacterEncoding("utf-8");
            //獲取jsp頁面傳遞過來的查詢關鍵字
            String command=req.getParameter("command");
            String description=req.getParameter("description");
            req.setAttribute("command", command);
            req.setAttribute("description",description);
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/micro_message", "root", "root");
            //1=1:適用於檢索條件不固定情況
            //用StringBuffer或者StringBuilder,不要用String。String不會回收
            StringBuilder sql=new StringBuilder("SELECT ID,COMMAND,DESCRIPTION,CONTENT FROM message where 1=1");
            //定義一個集合,暫時存放關鍵字
            List<String> paramList=new ArrayList<String>();
            if(command!=null&&!"".equals(command.trim())){
                //精確查詢
                //添加字符要記得加上必要的空格
                sql.append(" and COMMAND=?");
                paramList.add(command);
            }
            if(description!=null&&!"".equals(description.trim())){
                //模糊查詢(只要包含此內容就可查詢)
                sql.append(" and DESCRIPTION like '%' ? '%'");
                paramList.add(description);
            }
            PreparedStatement ps=conn.prepareStatement(sql.toString());
            //循環語句,獲取集合中的值,賦值給ps中的?(問號)
            //可以分清兩個查詢中的哪個查詢
            for(int i=0;i<paramList.size();i++){
                ps.setString(i+1, paramList.get(i));
            }
            ResultSet rs=ps.executeQuery();
            List<Message> messageList=new ArrayList<Message>();
            while(rs.next()){
                Message message=new Message();
                    message.setId(rs.getString("ID"));
                    message.setCommand(rs.getString("COMMAND"));
                    message.setDescription(rs.getString("DESCRIPTION"));
                    message.setContent(rs.getString("CONTENT"));
                messageList.add(message);
            }
            //將所有查詢信息放入request中,並轉到jsp頁面
            req.setAttribute("messageList", messageList);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }

        req.getRequestDispatcher("/WEB-INF/jsp/back/list.jsp").forward(req, resp);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章