关键字查询,模糊查询,查询全部信息

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);
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章